基于VMware和Cent OS的Docker Engine安装与配置
1.实例实验环境:
镜像:CentOS-Stream-8
2.初始化配置
#查看当前的网络连接信息
[root@localhost ~]# nmcli connection show
#修改网络连接配置(如有警告或报错见附录)
[root@localhost ~]# nmcli connection modify ens160 \
> ipv4.addresses 192.168.198.155/24 \
> ipv4.gateway 192.168.198.2 \
> ipv4.dns "192.168.198.2,114.114.114.114" \
> ipv4.method manual \
> connection.autoconnect yes#连通性测试(以谷歌的DNS为例)
[root@localhost ~]# ping 8.8.8.8
3.更新yum包
#因为CentOS Stream 8 已于 2024 年 5 月停止维护,官方仓库
mirrorlist.centos.org已失效,需替换为第三方归档仓库(如阿里云、腾讯云的 CentOS 8 归档源)。#备份并删除原仓库配置
mkdir -p /etc/yum.repos.d/backup
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/
#下载第三方仓库配置(以阿里云为例)
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
#替换仓库中的版本标识(这里用的8版本,原仓库配置针对的是 CentOS 8.5)
sed -i 's/$releasever/8/g' /etc/yum.repos.d/CentOS-Base.repo
#清除缓存并且生成新的缓存
yum clean all yum makecache # 生成新的仓库缓存
#更新yum包
yum update
4.安装docker
#设置docker仓库
yum-config-manager --add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#安装Docker Engine软件包
#为了避免冲突,先卸载系统默认的容器引擎Podman,具体命令如下所示。
yum erase podman buildah
#执行命令安装Docker Engine,具体命令如下所示。
yum install docker-ce-20.10.21 docker-ce-cli-20.10.21 containerd.io-1.6.10
#验证
docker --version
5.配置Docker中央仓库的国内镜像源
#创建 Docker 配置目录
[root@docker_dev ~]# mkdir -p /etc/docker
#配置 Docker 镜像源
[root@docker_dev ~]# vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://docker.unsee.tech","https://mirror.ccs.tencentyun.com","https://docker.m.daocloud.io"]
}
#重启守护进程并重启 Docker
[root@docker_dev ~]# systemctl daemon-reload && systemctl restart docker
6.测试(docker部署MySQL)
[root@docker_dev ~]# docker pull mysql:5.6
[root@docker_dev ~]# mkdir ~/mysql[root@docker_dev ~]# cd ~/mysql
[root@docker_dev mysql]# docker run -id \
> -p 3308:3306 \
> --name=c_mysql \
> -v $PWD/conf:/etc/mysql/conf.d \
> -v $PWD/logs:/logs \
> -v $PWD/data:/var/lib/mysql \
> -e MYSQL_ROOT_PASSWORD=123456 \
> mysql:5.6 /bin/bash[root@docker_dev mysql]# docker images;
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql 5.6 dd3b2a5dcb48 3 years ago 303MB
[root@docker_dev mysql]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
391cf3047d19 mysql:5.6 "docker-entrypoint.s…" 27 seconds ago Up 26 seconds 0.0.0.0:3308->3306/tcp, :::3308->3306/tcp c_mysql
附件:常见报错处理
#如果系统提示 【存在其他 1 条带有名称 "ens160" 的连接】可以先删除原本网卡
nmcli connection delete uuid xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
#或者指定网卡的uuid进行修改
nmcli connection modify e87427a5-3883-41a3-8042-8cb4a3e07128 \
ipv4.addresses 192.168.198.155/24 \
ipv4.gateway 192.168.198.2 \
ipv4.dns "192.168.198.2,114.114.114.114" \
ipv4.method manual \
connection.autoconnect yes
