CentOS安装docker
- 1、通过 uname -r 命令查看你当前的内核版本
- 2、更新CentOS系统
- 3、如果安装过旧版本docker请先卸载
- 4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
- 5、设置yum源
- 6、由于安装docker可能会产生错误,请注意一下
- 7、如果发现连 containerd.io都安装失败的情况下,请先安装container-selinux
- 8、如果在安装containerd.io失败,有runc冲突的情况
- 9、可以查看所有仓库中所有docker版本,并选择特定版本安装
- 10、这里我们安装最新版本的docker
- 11、如果发现docker下载出现问题,建意自行下载
- 12、检查docker是否安装成功
- 13、设置docker阿里镜像加速
- 14、、启动并加入开机启动
- 15、以下是docker常用命令
- 16、docker部分命令说明
- 17、关于防火墙,需要被外部网络端口访问需开启防火墙或者端口
1、通过 uname -r 命令查看你当前的内核版本
uname -r
2、更新CentOS系统
yum -y update
3、如果安装过旧版本docker请先卸载
yum remove docker docker-common docker-selinux docker-engine
4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
5、设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
6、由于安装docker可能会产生错误,请注意一下
在安装docke的时候会出现以下问题
package docker-ce-3:19.03.5-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
也就是 containerd.io版本过低,这里我们可以选择将containerd.io升级或者选择低版本的docker安装
yum -y install containerd.io
如果安装的版本不正确,请指定版本安装
yum install containerd.io-1.2.6-3.3.el7.x86_64.rpm
7、如果发现连 containerd.io都安装失败的情况下,请先安装container-selinux
错误提示:
警告:containerd.io-1.2.6-3.3.el7.x86_64.rpm: 头V4 RSA/SHA512 Signature, 密钥 ID 621e9f35: NOKEY
错误:依赖检测失败:
container-selinux >= 2:2.74 被 containerd.io-1.2.6-3.3.el7.x86_64 需要
现在我们需要安装最新版本的container-selinux
yum install -y container-selinux
安装完成后我们在继续安装containerd.io,最好是最新版本的,我这边用安装包安装是因为,下载比较慢。
8、如果在安装containerd.io失败,有runc冲突的情况
请删除 runc
yum erase runc (erase等价与remove,删除runc)
然后再次安装containerd.io
9、可以查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
10、这里我们安装最新版本的docker
yum install -y docker-ce
11、如果发现docker下载出现问题,建意自行下载
我这边由于docker下载速度太慢,现在需要自己下载安装包
docker下载地址,版本可以选择
手动rpm安装需要安装两个(我这边都挑选了最新版本)
docker-ce-cli-19.03.6-3.el7.x86_64
docker-ce-19.03.6-3.el7.x86_64首先我们需要安装 docker-ce-cli
rpm -ivh docker-ce-cli-19.03.6-3.el7.x86_64.rpm
然后安装 docker-ce
rpm -ivh docker-ce-19.03.6-3.el7.x86_64.rpm
12、检查docker是否安装成功
使用命令
docker version
或者 你也可以,启动后再检查是否安装成功,两种不同的区别是,启动后的docker了开启了server端
13、设置docker阿里镜像加速
- 进入docker目录,我这边是采用默认安装,也就是docker在默认位置,直接创建文件
vim /etc/docker/daemon.json
- 输入内容(注意这里的双引号从CSDN中复制的双引号都是未中文状态的双引号,我们需要改成英文状态下的双引号)
{ "registry-mirrors": ["https://noun0f3m.mirror.aliyuncs.com"] }
- 输入完成后,保存并退出。如果你已经启动了docker,那么请重启docker
systemctl restart docker
14、、启动并加入开机启动
systemctl start docker
systemctl enable docker
15、以下是docker常用命令
命令 | 说明 |
---|---|
docker ps | 查看进程 |
docker inspect {已经在运行的容器ID} | 查看正在运行的容器状态 |
docker exec -it {已经在运行的容器ID} /bin/bash | 进入正在运行的容器内部 |
docker logs -f {已经在运行的容器ID} | 查看容器日志 |
docker version | 查看docker版本 |
docker pull {镜像名称} | 下载镜像 |
systemctl start docker | 启动docker |
systemctl stop docker | 关闭docker |
systemctl restart docker | 重启docker |
docker start 容器ID或容器名 | 启动docker容器镜像 |
docker stop 容器ID或容器名 | 关闭正在运行的docker容器 |
docker restart 容器ID或容器名 | 重启容器 |
docker kill 容器ID或容器名 | 直接关闭容器 |
docker images | 查看镜像信息列表 镜像是静态的 |
docker run -d -p 80:80 {容器名称} | 启动容器 -d:后台运行 -p :宿主机端口:容器端口 |
docker ps -a | 查看所有容器 |
docker start $(docker ps -a -q) | 启动所有容器 |
docker stop $(docker ps -a -q) | stop停止所有容器 |
docker rm $(docker ps -a -q) | remove删除所有容器 |
docker rmi $(docker images -a -q) | 删除所有镜像 |
docker rmi [镜像名称repository]:[版本号,也就是TAG] | 删除指定镜像 |
16、docker部分命令说明
- -v :挂载宿主机的一个目录。
-
- 使用方式:docker run -d -p {宿主机端口}:{容器端口} -v {宿主机目录}:{容器目录} {容器名称}
-
- 什么是宿主机,就是指的是你实际的电脑服务器,容器就是指docker的虚拟主机
- -d:后台启动,全称使用 -detach
- -p:开启对应端口 ,全称使用 -publish ,-p可以使用多个,也就是说在启动命令可以加入多个-p,可以开启多个映射端口,例如
-
- docker run -d -p 80:80 -p 5050:5050 -v {宿主机目录}:{容器目录} {容器名称}
- -name:设置运行容器的名称,这个可以自定义,想写什么就写什么
17、关于防火墙,需要被外部网络端口访问需开启防火墙或者端口
临时关闭防火墙命令
systemctl stop firewalld
开启8080端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
更新防火墙规则
firewall-cmd --complete-reload
查看当前所开放的端口
firewall-cmd --zone=public --list-ports