Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
通过 uname -r 命令查看你当前的内核版本
uname -r
更新yum包
yum update
# 卸载旧版本(如果安装过旧版本的话)
yum remove docker docker-common docker-selinux docker-engine
首次安装需要设置docker 仓库,
设置仓库,安装所需的软件包,yum-utils提供了yum-config-manager, 另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
设置稳定的仓库
#官方源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
#阿里云
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#清华源
sudo yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
安装最新版本
yum install docker-ce
或者安装指定版本
yum list docker-ce --showduplicates | sort -r
//显示有以下版本
docker-ce.x86_64 18.03.0.ce-1.el7.centos docker-ce-stable
指定一个版本进行安装
sudo yum install docker-ce-<VERSION STRING>
启动docker
systemctl start docker
加入开机自启
systemctl enable docker
验证安装是否成功
[root@localhost ~]# docker version
Client: Docker Engine - Community
Version: 20.10.7
API version: 1.41
Go version: go1.13.15
Git commit: f0df350
Built: Wed Jun 2 11:58:10 2021
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.7
API version: 1.41 (minimum version 1.12)
Go version: go1.13.15
Git commit: b0f5bc3
Built: Wed Jun 2 11:56:35 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.6
GitCommit: d71fcd7d8303cbf684402823e425e9dd2e99285d
runc:
Version: 1.0.0-rc95
GitCommit: b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7
docker-init:
Version: 0.19.0
GitCommit: de40ad0
卸载docker
yum remove docker-ce
拉取centos镜像
访问centos镜像库地址:https://hub.docker.com/_/centos?tab=tags
这里选用centos7
docker pull centos:7
#查看镜像是否pull成功
docker images
运行容器
docker run -itd --name centos-test centos:7
运行docker容器
docker run -d -i -t yu819/django_vue /bin/bash
* i:打开容器的标准输入。
* d:后台启动,不占用shell
* t:告诉docker为容器建立一个命令行终端。
* name:指定容器名称,可以不填(随机),建议根据具体使用功能命名,便于管理。
* yu819/django_vue:告诉我们使用什么镜像来启动容器。
* /bin/bash:告诉docker要在容器里面执行此命令。
通过 exec 命令进入 CentOS 容器。
docker exec -it centos-test /bin/bash
#查看正在运行的容器
docker ps
#查看所有容器
docker ps -a
在容器中安装Python3.8.3
将安装Python3 的容器打包成新的镜像
#退出当前容器
exit
格式:docker commit -m '镜像描述' -a '制作者' 容器名 镜像名
镜像上传至docker hub
#启动容器
docker start <CONTAINER ID | NAME>
#停止容器
docker stop <CONTAINER ID | NAME>
#丢弃容器
docker rm <CONTAINER ID | NAME>
#一次性删除所有停止的容器
docker rm $(docker ps -a -q)
#删除镜像
docker rmi <IMAGE ID> | <REPOSITORY:TAG>
多个ID同名的会报错,使用<REPOSITORY:TAG>
docker rmi 5c62e459e087
docker rmi mysql:8.0
docker 删除所有镜像
docker rmi -f $(docker images -qa)
拉取刚刚上传的镜像
docker pull yu819/centos7:python3.8
运行容器检验是否安装Python3.8
镜像导出成文件
docker save yu819/centos7:python3.8 >1.tar
docker load <1.tar
注:
-
# 停止所有 Exited 的容器 docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker stop # 删除所有 Exited 的容器 docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker rm # 删除所有 none 镜像 docker images|grep none|awk '{print $3 }'|xargs docker rmi