惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Security Latest
Security Latest
Recent Commits to openclaw:main
Recent Commits to openclaw:main
T
Threatpost
NISL@THU
NISL@THU
A
Arctic Wolf
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
Tenable Blog
O
OpenAI News
Know Your Adversary
Know Your Adversary
Google Online Security Blog
Google Online Security Blog
Cloudbric
Cloudbric
PCI Perspectives
PCI Perspectives
爱范儿
爱范儿
GbyAI
GbyAI
U
Unit 42
IT之家
IT之家
Cyberwarzone
Cyberwarzone
T
The Exploit Database - CXSecurity.com
罗磊的独立博客
Last Week in AI
Last Week in AI
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Hacker News - Newest:
Hacker News - Newest: "LLM"
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
AWS News Blog
AWS News Blog
Schneier on Security
Schneier on Security
L
LINUX DO - 最新话题
Latest news
Latest news
Hacker News: Ask HN
Hacker News: Ask HN
W
WeLiveSecurity
TaoSecurity Blog
TaoSecurity Blog
Attack and Defense Labs
Attack and Defense Labs
Scott Helme
Scott Helme
Security Archives - TechRepublic
Security Archives - TechRepublic
S
Securelist
Help Net Security
Help Net Security
C
Cybersecurity and Infrastructure Security Agency CISA
V
V2EX
S
Security @ Cisco Blogs
月光博客
月光博客
P
Proofpoint News Feed
B
Blog RSS Feed
The GitHub Blog
The GitHub Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Hugging Face - Blog
Hugging Face - Blog
L
LangChain Blog
博客园 - 叶小钗
C
Check Point Blog
腾讯CDC
The Cloudflare Blog
Simon Willison's Weblog
Simon Willison's Weblog

博客园 - 远洪

大模型常用术语 windows 使用sshAgent 加载秘钥 再次认识java反射 再次认识java注解 再次认识java泛型 java中类的分类 java类中的成员变量,静态变量与局部变量 再谈java枚举enum 使用CCProxy让手机访问电脑能访问的网址 playwright启动后报错net::ERR_CERT_COMMON_NAME_INVALID 解决方法 debian 或ubuntu安装使用tigervnc python 实例属性、类属性、实例方法、类方法、静态方法 python面向对象封装,私有变量 docker 自定义网络 Dockerfile 使用 golang进程(主线程)与协程 go语言多态中的类型断言 java中的多态与golang中的多态 golang 定义接口
docker compose使用
远洪 · 2024-02-25 · via 博客园 - 远洪

一、安装docker  compose

docker compose分为两种方式安装,插件反正和标准安装:参见官网:https://docs.docker.com/compose/install/linux/

插件方式安装

sudo apt-get update
sudo apt-get install docker-compose-plugin

确认安装的版本号:

卸载

sudo apt-get remove docker-compose-plugin

标准方式安装

curl -SL https://github.com/docker/compose/releases/download/v2.24.6/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

创建软连接:

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

确认安装的版本号:

卸载

rm $DOCKER_CONFIG/cli-plugins/docker-compose

使用

注意插件方式安装和 标准方式安装命令上有区别

# 插件方式
docker compose
# 命令方式安装
docker-compose

二、编写docker compose 文件

 创建一个compose.yaml 文件

# docker compose中定了了两个服务
services:
  web:
    # 使用当前目录下的Dockerfile文件构建镜像
    build: .
    # 端口映射主机8000:容器5000
    ports:
      - "8000:5000"
  # 目录挂载,当当前目录挂载到容器的/code目录,使得构建的容器可以访问主机当前目录的内容 volumes: - .:/code environment: FLASK_DEBUG: "true" # 定义了redis服务,其中没有特别指定hostname的话,服务名就是主机名 redis: # 本地没有镜像,则从远程拉取 image: "redis:alpine" ports: - "6379:6379"

 运行docker compose.yaml 中定义的服务,如果没有镜像的话会先生成镜像在启动容器

三、docker compose 常用命令

 常用

# 启动所有服务
docker compose up

# 在后台启动所有服务
docker compose up -d

# 在后台所有启动服务,指定编排文件
docker compose -f compose.yml up -d
# 重启服务
docker compose restart
# 查看项目中所有服务的信息
docker compose ps
# 查看容器的日志
docker compose logs
# 在项目的某个容器中执行命令
docker compose exec service_name command

 restart

docker compose restart # 重启工程中所有服务的容器
docker compose restart nginx # 重启工程中指定服务的容器

start

docker compose start # 启动工程中所有服务的容器
docker compose start nginx # 启动工程中指定服务的容器

stop

docker compose stop # 停止工程中所有服务的容器
docker compose stop nginx # 停止工程中指定服务的容器

build

# 构建服务的镜像
docker compose build
# 如果服务镜像不存在,则构建镜像并启动服务。
docker compose up –build
 # 重构服务。
docker compose up --force-recreate 

ps,log

# 查看项目中所有服务的信息。
docker compose ps
# 查看容器的日志。
docker compose logs
# 在服务镜像的容器中执行命令。
docker compose exec service_name command

down

#  删除服务容器(容器)
docker-compose down 

logs

# docker compose logs 查看服务容器的输出日志。
# 默认情况下,docker compose将对不同的服务输出使用不同的颜色来区分。
# 可以通过--no-color来关闭颜色。
# 输出日志,不同的服务输出使用不同的颜色来区分
docker compose logs
# 跟踪日志输出
docker compose logs -f
# 关闭颜色
docker compose logs --no-color
 
# 查看日志
docker compose logs web  # 参考 1.9 docker-compose.yml 文件内容

run

docker compose run 在指定服务容器上执行一个命令。
docker compose run nginx echo "helloworld" # 在工程中指定服务的容器上执行 echo "helloworld"

exec

docker compose exec进入服务容器。
docker compose exec nginx bash # 进入工程中指定服务的容器
docker compose exec --index=1 nginx bash # 当一个服务拥有多个容器时,可通过 --index 参数进入到该服务下的任何容器

pause,unpause

docker compose pause # 暂停工程中所有服务的容器
docker compose pause nginx # 暂停工程中指定服务的容器
 
docker compose unpause # 恢复工程中所有服务的容器
docker compose unpause nginx # 恢复工程中指定服务的容器

rm 删除容器

docker compose rm -f jobmanager
docker compose rm -f taskmanager