基于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

相关推荐
Zhu7583 分钟前
docker环境快速部署postgresql数据库18及以上版本
postgresql·容器
做运维的阿瑞7 分钟前
Python 标准库汇总:分类速览与常用模块清单
linux·运维·python
zoutao981 小时前
Gitea Actions 自定义 Runner 镜像与自动化部署实战
ci/cd·docker·gitea
日常筹谋记1 小时前
自动化仓储安全防护工况评估:明治传感器AS-33C技术适配性分析
大数据·运维·创业创新·业界资讯
Shadow(⊙o⊙)2 小时前
Linux进阶知识1.0
linux·运维·服务器
安易算力2 小时前
PUE优化工程实践:从1.5到1.2的制冷架构与气流组织改造路径
网络·python·容器·架构·kubernetes
闲云自留地2 小时前
告别命令恐惧症,openEuler 基础操作 + 文本 + 网络管理实战
linux·运维·云计算
小马同学-3 小时前
nerdctl实战:Docker风格的Containerd操作利器
docker·容器·containerd
其实防守也摸鱼3 小时前
常见安全架构中 Shiro 的认证确认机制解析
运维·服务器·数据库·windows·github
九皇叔叔4 小时前
Kubernetes 命令式对象配置详解:使用 YAML 管理 Kubernetes 资源
docker·容器·k8s