Docker 是当前主流的容器化引擎,本文将详细介绍在 CentOS 7 环境下安装配置 Docker 的完整流程。核心内容包括:安装依赖包(yum-utils、device-mapper-persistent-data、lvm2)、添加阿里云 Docker CE 软件源、更新 YUM 包索引、安装指定版本 Docker CE(如 18.06.3 或 24.0.6)、配置国内镜像加速器(DaoCloud、阿里云)、启动并设置 Docker 开机自启。同时提供私有镜像仓库搭建方案:拉取 registry 镜像、启动容器并挂载数据卷、配置 insecure-registries 信任私有仓库地址、推送镜像到私有仓库及验证。此外还附带了 Docker 常用命令(如 docker stats 查看容器内存占用)以及常用中间件容器部署示例(registry 镜像仓库、gitea 代码托管)。
本文适用于需要在 CentOS 7 上部署 Docker 环境及私有镜像仓库的运维开发人员。
yum install -y yum-utils device-mapper-persistent-data lvm2
#yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum-config-manager --enable docker-ce-edge sudo yum-config-manager --enable docker-ce-test
yum makecache fast
will always install the highest possible version,可能不符合你的需求
yum install docker-ce -y
# 找到需要安装的 yum list docker-ce --showduplicates |sort -r |grep 'docker-ce-stable' yum install docker-ce-18.06.3.ce -y #yum install docker-ce-24.0.6.ce -y
cat > /etc/docker/daemon.json <<EOF { "registry-mirrors": [ "https://j6dalcd1.mirror.aliyuncs.com" "https://docker.1ms.run", "https://docker-0.unsee.tech", "https://docker.m.daocloud.io" ] } EOF
systemctl start docker & systemctl enable docker
# 1.拉取私有仓库镜像 docker pull registry # 2.启动私有仓库容器,宿主机port:容器port docker run -d -p 5000:5000 --restart=always --name registry -v /mnt/registry:/var/lib/registry registry:2 # 3.打开浏览器,输入:http://宿主机IP:5000/v2/_catalog # 看到{"repositories":[]}表示私有仓库搭建成功 # 4.修改daemon.json,在该文件中添加一个key即可,用于让docker信任私有仓库地址 # vim /etc/docker/daemon.json "insecure-registries": ["宿主机IP:5000"] # 5.重启docker服务 systemctl daemon-reload systemctl restart docker

# 本地镜像打标签"drangonwell8:release-20230804" docker tag drangonwell8:release 192.168.44.10:5000/drangonwell8:release-20230804 # 推送镜像 docker push 192.168.44.10:5000/drangonwell8:release-20230804 # 验证是否推送成功 http://192.168.44.10:5000/v2/drangonwell8/tags/list
shelldocker stats --no-stream --format "table {{.Name}}\t{{.Container}}\t{{.MemUsage}}"

shelldocker run --detach \ --name registry \ --volume /root/myapps/registry/data/:/data \ --volume /root/myapps/registry/auth/:/auth/ \ --volume /root/myapps/registry/registry/:/var/lib/registry/ \ -p 5000:5000 \ --restart always \ --privileged=true \ registry:2.8.3
shelldocker run --detach \ --name gitea \ --volume ./data:/data \ --volume /etc/timezone:/etc/timezone:ro \ --volume /etc/localtime:/etc/localtime:ro \ -p 3000:3000 \ -p 3022:22 \ --restart always \ gitea/gitea:1.21.10


本文作者:Odboy
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC 4.0 BY-SA 许可协议。转载请注明出处!