https://www.runoob.com/docker/docker-tutorial.html 菜鸟教程
https://www.bilibili.com/video/BV1Vs411E7AR 学习视频
案例:https://www.runoob.com/docker/docker-install-mysql.html

概述

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
只需要一次配置好应用环境,换到别的机子上就可以一键部署好,大大简化了操作。安装的时候,把原始环境一模一样地复制过来。开发人员利用 Docker 可以消除协作编码时“在我的机器上可正常工作”的问题。

官网:http://www.docker.com
中文网站:https://www.docker-cn.com/
仓库:Docker Hub官网: https://hub.docker.com/
可以从仓库官网中查看到需要下载的版本信息

组成

镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。
image.png

镜像

docker的镜像实际上由一层一层的文件系统组成,这种层级的文件系统UnionFS。
image.png
根据是否是官方提供,可以将镜像分为两类。

一类是类似 nginx 这样的镜像,被称为基础镜像或跟镜像。这些基础镜像由 Docker 公司创建、验证、支持、提供。这样的镜像往往使用单个单词作为名字。

还有一种类型,比如 feiben/nginx 镜像,它是由 Docker Hub 的注册用户创建并维护的,往往带有用户名称前缀。可以通过前缀 username/ 来指定使用某个用户提供的镜像,比如 feiben 用户。

安装

centos docker安装
CentOS 7
CentOS 8
更高版本…

使用官方安装脚本自动安装
安装命令如下:
curl -fsSL https://get.docker.com | bash -s docker —mirror Aliyun

使用 yum 安装
yum install -y yum-utils
#添加 yum 国内软件源
yum-config-manager —add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i ‘s/download.docker.com/mirrors.aliyun.com\/docker-ce/g’ /etc/yum.repos.d/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io

启动docker:systemctl start docker
停止docker:systemctl stop docker
重启docker:systemctl restart docker
docker状态:systemctl status docker
docker开机自启动:systemctl enable docker

阿里云镜像加速

登录阿里云找到“容器镜像服务”下的镜像加速器
image.png

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-‘EOF’
{
“registry-mirrors”: [“https://3h44xp7a.mirror.aliyuncs.com“]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker