一,CentOs 上安装 Docker
- Docker 支持多种操作系统平台,Windows, Linux, macOS
- 注意:只推荐在 Linux 上使用。
1.1 安装命令
-
切换管理员权限 :su root
-
安装 Docker 依赖 :
yum install -y yum-utils device-mapper-persistent-data lvm2
-
配置依赖下载源 :
yum-config-manager --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
-
安装 docker :
yum makecache fast && yum -y install docker-ce
-
安装完成后查看docker的版本号:
docker --version
-
如果yum命令安装依赖报错,则修改仓库配置文件
- centos7修改repo文件:cd /etc/yum.repos.d/进入目录,修改CentOS-Base.repo文件为阿里镜像源。
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
- centos8 修改repo文件:cd /etc/yum.repos.d/进入目录,禁用appStream文件,修改CentOS-Linux-BaseOS.repo文件
- 参考文档:Centos8中如何修改yum源_centos8更换yum源-CSDN博客
下载阿里源的repo文件:
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
清除缓存并生成新的缓存:
yum clean all
yum makecache
更新系统:
yum update
1.2 启动命令
- 启动:
systemctl start docker
- 重启:
systemctl restart docker
- 开机自启动:
systemctl enable docker
- 查看运行状态:
systemctl status docker
1.3 加速器配置
- 登录阿里云镜像: 容器镜像服务 (aliyun.com)
- 添加 registry-mirrors : vim /etc/docker/daemon.json
- 在daemon.json文件加上加速源地址(这里使用阿里云的镜像地址):
{
"registry-mirrors": ["https://1z3y5a8a.mirror.aliyuncs.com"]
}
- 当镜像拉取过慢导致超时,可以改用下记镜像加速配置:
{
"registry-mirrors": ["https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc"]
}
-
重载 docker 的配置文件 : systemctl daemon-reload
-
重启 Docker : systemctl restart docker
-
查看配置 : docker info
-
验证镜像拉取正常
-
在阿里云镜像服务搜索mysql镜像,选择官方版本,并复制镜像地址
-
使用 docker pull {mysql镜像地址} 命令验证拉取镜像成功
-
二,Docker 容器管理命令
-
docker run -d --name {your_name} {image_name}
- 新建一个容器运行,并命名为your_name,image_name为容器名称
- -d 表示容器会在后台运行
-
docker ps -s -a
{查看当前所有容器}- docker ps :查看当前所有在运行状态的容器
- -a :表示当前不在运行状态的容器也会展示
CONTAINER ID:容器的唯一ID
IMAGE:镜像启动地址
COMMAND:当前容器的启动命令
CRETAED:容器的创建时间
STATUS:当前容器的状态
NAMES:容器的名称 -
docker stop {container_name}
: 停止容器,container_name可以是容器名称或者是容器ID
-
docker kill (container_name)
:杀死容器 -
docker rm -f {container_name}
:删除容器
-
docker logs -f {容器名称}
: 查看容器日志 -
docker inspect {容器名称}
:查看容器的元数据 -
docker exec -it {容器名称} bash
:进入容器- exec 的意思是在容器中运行一个命令。 如果是 bash 并且指定了
-it
就会打开容器的 shell 交互
- exec 的意思是在容器中运行一个命令。 如果是 bash 并且指定了
三,Docker 镜像管理命令
-
docker pull {image_name}
:拉取镜像到本地- docker pull mysql:5.5 :指定mysql镜像的版本号
- docker pull mysql:5.5 :指定mysql镜像的版本号
-
docker push {image_name}
:推送镜像到镜像仓库 -
docker images
:查看当前机器的所有镜像
-
docker rmi {image_name}
:删除当前机器的一个镜像(如果镜像在运行则不可删)
-
docker tag {source_images_name:tag your_image_name:tag}
:为一个镜像打 tag
-
docker save busybox > busybox.tar
:把镜像保存到tar文件指定目录 -
docker load < busybox.tar.gz
:在另一台docker服务器进入指定目录,把tar文件的镜像下载到目标服务器