CentOS安装docker

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
docker安装错误
也就是 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是否安装成功
或者 你也可以,启动后再检查是否安装成功,两种不同的区别是,启动后的docker了开启了server端
启动后的docker

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

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值