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

容器技术

第二章 记录docker-compose的部署过程

  • 容器技术
  • 记录docker-compose的部署过程
    • (可选)新建docker用户
    • (可选)迁移docker-ce目录
    • docker-compose
      • 官方插件形式安装
      • 官方二进制形式独立安装
      • (可选) 使用docker-compose二进制包的 bash_completion 命令补齐
    • 参考来源


记录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 精选实践

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/19561.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android8.1高通平台修改默认输入法

需求 安卓8.1 SDK原生的输入法只能打英文, 需要替换成中文输入法. 以高通平台为例, 其它平台也适用. 查看设备当前默认输入法 adb shell settings list secure | grep input 可以看到当前默认是LatinIME这个安卓原生输入法. default_input_methodcom.android.inputmethod.l…

使用compile_commands.json配置includePath环境,解决vscode中引入头文件处有波浪线的问题

通过编译时生成的 compile_commands.json 文件自动完成对 vscode 中头文件路径的配置,实现 vscode 中的代码的自动跳转。完成头文件路径配置后,可以避免代码头部导入头文件部分出现波浪线,警告说无法正确找到头文件。 步骤 需要在 vscode 中…

木馒头头戴式蓝牙耳机

这里写目录标题 木馒头二代头戴式蓝牙耳机清除连接记忆 木馒头二代头戴式蓝牙耳机清除连接记忆 在配对模式下,同时按住播放和暂停按钮4秒,LED闪烁紫色3次,即为清除成功。

电子烟开发【恒压、恒有效算法】

恒压算法 pwm是通过软件模拟的 pwm满值运行是250全占空比 #define D_TARGET_AVERAGE_VOLTAGE 3500 //R_ADC1_Vout :发热丝两端AD值 //R_ADC_FVR :电池电压AD值 //FVR_VOLTAGE :电池AD参考电压 满电值AD //R_Smk1Duty :最后…

Java 面试题:String、StringBuffer、StringBuilder 有什么区别?

几乎所有的应用开发都离不开操作字符串,理解字符串的设计和实现以及相关工具如拼接类的使用,对写出高质量代码是非常有帮助的。关于这个问题,我前面的回答是一个通常的概要性回答,至少你要知道 String 是 Immutable 的&#xff0c…

深入分析 Android Service (一)

文章目录 深入分析 Android Service (一)1. Android Service 设计说明1.1. Service 的类型1.2. Service 的生命周期1.3. 创建和启动 Service1.4. 绑定 Service1.5. ServiceConnection1.6. 前台 Service1.7. IntentService示例:创建和使用 IntentService 2. Service …

CentOS7部署Yearning并配置MySQL数据库远程访问详细流程——“cpolar内网穿透”

文章目录 前言1. Linux 部署Yearning2. 本地访问Yearning3. Linux 安装cpolar4. 配置Yearning公网访问地址5. 公网远程访问Yearning管理界面6. 固定Yearning公网地址 前言 本文主要介绍在 Linux 系统简单部署 Yearning 并结合 cpolar 内网穿透工具实现远程访问,破除…

Git基本使用教程(学习记录)

参考文章链接: Git教程(超详细,一文秒懂) RUNOOB Git教程 Git学习记录 1Git概述 1.1版本控制软件功能 版本管理:更新或回退到历史上任何版本,数据备份共享代码:团队间共享代码,…

立哥开源技术-基于Python的TTS分析脚本

import pyttsx3 # 创建一个引擎实例 engine pyttsx3.init() # 获取所有可用的语音列表 voices engine.getProperty(voices) # 打印出所有可用的语音名称和属性 for voice in voices: print("Voice:") print(" - 名称: %s" % voice.name) …

【vscode篇】1-VScode设置语言为中文,2-解决中文注释乱码问题。

设置语言为中文 在前端开发中,Visual Studio Code(简称vscode)是一个非常好用的工具,但第一次打开vscode会发现界面为英文,这对很多开发者来说会很不友好(比如我),把界面设置成中文只需要安装一个插件即可&…

从零入门激光SLAM(二十二)——Fast-lio2代码详解(三) 迭代误差更新

Fast-lio2原理解析见链接从零入门激光SLAM(二十一)——看不懂FAST-LIO?进来_fastlio 雷达 更改频率-CSDN博客 注释版代码完整版见GitHub - huashu996/Fast-lio2-Supernote: Fast-lio2 code with note 本代码解析以算法流程的逻辑解析代码&…

C#面:如果不用VisualStudio,用哪个命令行编译C#程序

可以使用命令提示符或者终端来执行编译命令 csc.exe 。 步骤: 打开命令提示符或终端。使用 cd 切换到 C# 程序所在的目录。使用以下命令来编译C#程序: 其中,是你的C#源代码文件的名称(包括扩展名.cs)。如果编译成功&…

ONLYOFFICE 协作空间与 WordPress 如何集成

转载自作者:VincentYoung,略有改动 阅读本文,了解如何将 ONLYOFFICE 协作空间与 WordPress 进行集成。 ONLYOFFICE 协作空间是其去年新推出的产品,用创建虚拟办公室房间的方式,来组织公司内部团队成员的在线协作办公&…

C++中的双指针和三指针

目录 摘要 双指针(Double Pointers) 含义 使用场景 三指针(Triple Pointers) 含义 使用场景 总结 双指针的详细说明 三指针的详细说明 摘要 在C中,双指针和三指针分别是指向指针的指针和指向指向指针的指针…

C. Swap Adjacent Elements 题解

C. Swap Adjacent Elements 题解 S A E 题目大意思路代码题目大意 输入格式: 第一行一个整数 n n n ( 2 ≤ (2≤ (2≤ n n n ≤ 200000 ) ≤200000) ≤200000) 第二行 n个整数 a 1 a_1 a1​, a 2 a_2 a2​

redis 允许外网访问

要使Redis服务器允许外网访问,可以遵循以下步骤进行配置: 编辑Redis配置文件: 找到Redis的配置文件,通常位于/etc/redis/redis.conf,但位置可能因安装方式和操作系统而异。取消绑定本地地址:在配置文件中&a…

Charles-ios无法抓包原因之一证书

VPN证书安装完成后依然无法抓包存在无网络问题 VPN安装证书后直接抓包这时候抓包接口返回无网络,原因是IOS通用-关于本机-证书信任设计未开启信任

webpack5零基础入门-19HMR的应用

1.定义 HMR即HotModuleReplacement 开发时,当我们修改了其中一个模块的代码webpack默认会将所有模块重新打包编译,速度很慢所以我们需要做到修改摸个模块代码,只对这个模块的代码重新打包编译,其他模块不变,这样打包…

elementUI dialog 组件二次封装 before-close 回调函数作用

before-close 弹框关闭前的回调函数,父组件可以向子组件传递一个函数,用于修改子组件内的变量变量。应用场景如下: 1、封装 dialog 组件为 baseDialog,页面中使用 baseDialog 组件。 2、封装 dialog 组件为 baseDialog&#xff…

OpenAI和Anthropic在人工智能领域各自进行着不同的工作,以下是对它们工作内容的清晰归纳

OpenAI和Anthropic在人工智能领域各自进行着不同的工作,以下是对它们工作内容的清晰归纳: OpenAI: 公司背景与使命: 成立于2015年12月11日,总部位于美国旧金山。是一家由营利性公司OpenAI LP及非营利性母公司OpenAI …