[笔记] 记录docker-compose的部署过程

容器技术


记录docker-compose的部署过程

1. 使用CentOS 7.9系列的Linux操作系统
2. docker社区版:docker-ce
3. docker部署编排工具:docker-compose
4. docker私有镜像仓库管理工具:docker-harbor
5. docker轻量级可视化容器管理工具:Portainer

# 默认已初始化安装 CentOS 7.9 + docker-ce
CPU: 4* 2
Memory: 16G
Disk: 2块物理硬盘(sda,sdb) sda: 40GB(预装最小化Linux), sdb: 200GB
Swap: 12G
hostname: docker01.myside.com
ip: 10.0.0.210
gateway: 10.0.0.254
dns: 223.5.5.5 114.114.114.114
docker应用的映射存储目录: /opt/mydocker

设置docker服务端的目录结构

/opt/mydocker/
├── certs			# 存放证书的目录, 按项目名称划分, ca证书放当前目录下
├── docker-root		# docker-ce目录
├── packages		# 存储安装包、软件包
└── projects		# 项目目录

(可选)新建docker用户

# 新增docker01用户,添加到docker组,用于管理docker应用
[root@docker01 ~]# useradd -m -g docker docker01
[root@docker01 ~]# echo docker01 | passwd --stdin docker01

# 给docker01用户设置sudo免密权限
[root@docker01 ~]# visudo
docker01 ALL=(ALL) NOPASSWD: ALL
# :x保存

# (可选) 给docker01用户设置sudo免密权限缩减到部分命令
[root@docker01 ~]# visudo
docker01 ALL=(ALL) NOPASSWD: /bin/systemctl start docker
docker01 ALL=(ALL) NOPASSWD: /bin/systemctl stop docker
docker01 ALL=(ALL) NOPASSWD: /bin/systemctl restart docker
docker01 ALL=(ALL) NOPASSWD: /bin/bash  	# 允许docker01提权到root
# :x保存

(可选)迁移docker-ce目录

# centos-root根目录仅40Gi的容量,为防止docker镜像过多造成磁盘满载,将docker-ce的目录迁移到sdb磁盘
# 不修改docker.service的配置,仅使用 ln -s 将 /var/lib/docker/ 转储并添加软链接
systemctl stop docker
# 确保/opt/mydocker/docker-root/目录是不存在的, 否则mv会把docker迁移到docker-root目录下的docker目录, 而不是docker-root目录本身
mv /var/lib/docker/ /opt/mydocker/docker-root/
ln -s /opt/mydocker/docker-root /var/lib/docker
systemctl daemon-reload;systemctl start docker

docker-compose

官方插件形式安装

## 官方插件安装
[root@docker01 ~]# yum install -y docker-compose-plugin

[root@docker01 ~]# docker compose version
Docker Compose version v2.27.0

官方二进制形式独立安装

## 官方二进制包独立安装。 如下方法是获取到latest节点的版本,但仓库会存在有-rc的候选测试版本,建议从github仓库对照过最新的正式版本tag再构建二进制包的下载命令
# curl获取github仓库的最新tag_name
COMPOSE_TAG=`curl -s https://api.github.com/repos/docker/compose/releases/latest | grep -i tag_name | awk -F '"' '{print $4}'`
# 构建下载二进制包的命令, uname -s 要转小写
curl -SL https://github.com/docker/compose/releases/download/$COMPOSE_TAG/docker-compose-`uname -s | awk '{print tolower($0)}'`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

# 推荐把docker-compose加入到/usr/bin/目录. (非root用户 sudo -i 到root时不会携带如/usr/local/bin/目录的PATH环境变量,所以建议把docker-compose命令链接到/usr/bin/目录,提权root后就能直接使用docker-compose了)
ln -s /usr/local/bin/docker-compose /usr/bin/

[root@docker01 ~]# docker-compose version
Docker Compose version v2.27.0

(可选) 使用docker-compose二进制包的 bash_completion 命令补齐

# (可选) 使用docker-compose二进制包的 bash_completion 命令补齐。
[root@docker01 ~]# curl -L https://raw.githubusercontent.com/docker/compose/release/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose
[root@docker01 ~]# source /etc/bash_completion.d/docker-compose

参考来源

  1. Docker Compose overview
  2. Overview of docker compose CLI
  3. Docker Compose 精选实践
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

歪果仨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值