基于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](https://link.zhihu.com/?target=https://docker.m.daocloud.io "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

相关推荐
BullSmall16 分钟前
Sonarqube9.9 docker 镜像启动后 conf 下的配置文件没有了
docker·容器·eureka
无足鸟ICT20 分钟前
【RHCA+】查看变量
linux·运维·服务器
ruofu3322 分钟前
wsl端是py312,但是项目是py311, 如何下载py311的依赖包(wheels)
python·docker
Kina_C30 分钟前
Linux DNS 服务器-从高速缓存到辅助 DNS 部署指南
linux·运维·服务器·dns
suaizai_43 分钟前
TypeScript 7 正式发布!Vue 暂被 “拒之门外“ !!!
linux·运维·ubuntu
spider_xcxc1 小时前
Docker 实战:容器化多服务应用,Dockerfile 与 Compose 配置全解析
docker·云原生·eureka·虚拟化·容器化
慕伏白2 小时前
【慕伏白】Linux 系统如何根据端口号关闭进程
linux·运维·服务器
letisgo52 小时前
VMware Workstation + Ubuntu 26.04 LTS 小白运维部署手册
linux·运维·ubuntu
hay_lee2 小时前
Kubernetes StatefulSet:OrderedReady 极简指南
云原生·容器·kubernetes
蓝创工坊Blue Foundry2 小时前
图片文字提取到 Excel:批量任务如何先定义要交付的字段
运维·服务器·开发语言·数据库·自动化·ocr·excel