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

相关推荐
techdashen20 分钟前
Cloudflare 为何抛弃 NGINX,用 Rust 自研了一个代理
运维·nginx·rust
南城猿33 分钟前
保姆级 Ubuntu 部署 禅道
linux·运维·ubuntu
珠海西格电力1 小时前
零碳园区产业园管理系统的全场景源网荷储氢协同调度功能是如何实现的
大数据·运维·人工智能·物联网·能源
木雷坞1 小时前
K8s GPU 推理服务 ImagePullBackOff 排查与预热
云原生·容器·kubernetes·gpu算力
wj3055853782 小时前
CC-Switch 在 WSL Ubuntu 中安装记录
linux·运维·ubuntu
人生匆匆2 小时前
通过nginx解决跨域问题
运维·nginx
原来是猿2 小时前
【Socket编程预备知识】
linux·运维·服务器·网络
吴爃2 小时前
Spring Boot 项目在 K8S 中的打包、部署与运维发布实践
运维·spring boot·kubernetes
Elastic 中国社区官方博客3 小时前
在 Elastic 中使用 MCP 自动化用户旅程以进行合成监控
大数据·运维·人工智能·elasticsearch·搜索引擎·自动化·可用性测试
长安链开源社区3 小时前
学者观察 | 基于区块链的隐私计算技术——北京理工大学教授祝烈煌
运维·区块链