# 安装配置Docker
# 简介
Docker是一个开源的应用容器引擎,可以让开发者打包应用及其依赖到一个轻量级、可移植的容器中,然后发布到任何流行的Linux服务器。
# 安装
# 安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
1
# 添加Docker软件包源
#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
1
2
2
# 关闭测试版本list(只显示稳定版)
sudo yum-config-manager --enable docker-ce-edge
sudo yum-config-manager --enable docker-ce-test
1
2
2
# 更新yum包索引
yum makecache fast
1
# 安装Docker
# 直接安装DockerCE
will always install the highest possible version,可能不符合你的需求
yum install docker-ce -y
1
# 指定版本安装
# 找到需要安装的
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
1
2
3
4
2
3
4
# 配置国内镜像源
cat > /etc/docker/daemon.json <<EOF
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://j6dalcd1.mirror.aliyuncs.com"
]
}
EOF
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 启动docker
systemctl start docker & systemctl enable docker
1
# 搭建私有镜像仓库
# 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
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# 推送镜像到私有仓库
# 本地镜像打标签"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
1
2
3
4
5
6
2
3
4
5
6
# 常用命令
# 查看容器占用的内存
docker stats --no-stream --format "table {{.Name}}\t{{.Container}}\t{{.MemUsage}}"
1
# 常用中间件
# register2 官方镜像仓库
docker 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
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
# gitea 迷你gitlab
docker 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
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9