docker 安装方式

centos8

参考:https://docs.docker.com/insta...

设置存储库

1.存储驱动若使用 devicemapper ,需依赖于device-mapper-persistent-data 和 lvm2,(若不是请忽略这一步)

yum install -y yum-utils device-mapper-persistent-data lvm2

# OR

dnf install -y device-mapper-persistent-data lvm2

2.设置稳定的存储库(阿里云源)

#  yum-config-manager 依赖于 yum-utils 
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# OR

dnf config-manager --add-repo=http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

注:dnf是centos8提供的包管理工具,是yum的升级版,下面都用dnf代替yum

安装Docker CE

1.安装最新版(忽略)

dnf install docker-ce

2.安装指定版本

# 查看可安装版本
dnf list docker-ce --showduplicates | sort -r
# centos 能安装的最新版是 18.09.1
# dnf install docker-ce-
dnf install docker-ce-18.09.1

3.管理docker

# 启动
systemctl start docker

# 关闭
systemctl stop docker

# 开机自启
systemctl enable docker

docker & firewalld

如果先运行dockerd再运行firewalld, 会导致 Docker 无法正常工作,容器内部无法正常访问网络

解决方案:

第一种:修改docker网络模式为host,可能对容器端口有影响,因为不能指定映射库

  • docker run

在运行容器时添加参数 --network=host

docker run --network=host ...
  • docker compose
network_mode: "host"

第二种:将firewalld换成iptables(推荐)

# 查看firewalld是否启用
systemctl status firewalld
# 停止firewalld
systemctl stop firewalld
# 禁用firewalld(否则重启系统后会再次启动)
systemctl disable firewalld
# 查看是否安装iptables
dnf list installed | grep iptables-services
# 如果没安装则安装下
dnf install iptables-services -y
# 重启iptables
systemctl restart iptables
# 设置开机自启
systemctl enable iptables
# 重启docker
systemctl restart docker

第三种:关闭防火墙

# 查看firewalld是否启用 
systemctl status firewalld 
# 停止firewalld 
systemctl stop firewalld
# 禁用firewalld(否则重启系统后会再次启动) 
systemctl disable firewalld
# 重启docker
systemctl restart docker

阿里云容器镜像加速服务

提升获取Docker镜像的速度

你可能感兴趣的:(docker,centos,firewalld)