GVKun编程网logo

docker-compose 仅适用于某些容器(docker compose适用于什么场景)

9

此处将为大家介绍关于docker-compose仅适用于某些容器的详细内容,并且为您解答有关dockercompose适用于什么场景的相关问题,此外,我们还将为您介绍关于AspNetCore容器化(D

此处将为大家介绍关于docker-compose 仅适用于某些容器的详细内容,并且为您解答有关docker compose适用于什么场景的相关问题,此外,我们还将为您介绍关于AspNetCore容器化(Docker)部署(三) —— Docker Compose容器编排、Docker - 03 编排容器 Docker Compose 指令速查表、Docker Compose 版本过高(Docker 版本不匹配),降低 docker-compose 版本、DOCKER 学习笔记4 认识DockerCompose 多容器编排的有用信息。

本文目录一览:

docker-compose 仅适用于某些容器(docker compose适用于什么场景)

docker-compose 仅适用于某些容器(docker compose适用于什么场景)

我有一个docker-compose.yml包含几个容器的。其中三个用于我的应用程序(客户端、服务器和数据库),其余用于各种开发工具(例如
psql、npm、manage.py 等)。当我这样做时,docker-composeup所有这些都开始了,但我只希望三个主要的开始。由于我已经指定了链接,我可以从这三个开始,docker-compose upclient但输出只来自那个容器。那么,有没有办法执行以下操作之一:

  1. 告诉 docker-compose 应该由哪些容器启动docker-compose up
  2. 从所有链接的容器中获取输出docker-compose up client

答案1

小编典典

您可以使用以下方法启动容器:

$ docker-compose up -d client

这将在后台运行容器,并且可以从

$ docker-compose logs

它将包含所有已启动的容器

AspNetCore容器化(Docker)部署(三) —— Docker Compose容器编排

AspNetCore容器化(Docker)部署(三) —— Docker Compose容器编排

一.前言

上一篇部署了一个最基础的helloworld应用,创建了两个容器和一个network,还算应付得过来。

如果该应用继续引入mysql、redis、job等若干服务,到时候发布一次得工作量之大就可想而知了,这时候就需要用到Docker Compose。

Docker Compose是一个用于定义和运行多容器Docker应用程序的工具。使用Compose,可以使用YAML文件来配置应用程序的服务,然后使用一条命令就可以从配置中创建并启动所有服务。

Docker Compose概述及命令使用 https://docs.docker.com/compose/reference/overview/

 

二.安装Compose

Windows下安装Docker Desktop时已经附带安装了Docker Compose

PS C:\Users\Administrator> docker-compose version
docker-compose version 1.23.2, build 1110ad01
docker-py version: 3.6.0
CPython version: 3.6.6
OpenSSL version: OpenSSL 1.0.2o  27 Mar 2018

 

Linux下需要自行安装

root@VM-16-9-ubuntu:~# apt install docker-compose

 

三.使用Compose

1.编排服务

在解决方案下创建docker-compose.yml文件

version: ''3.4''

services:
  helloworld:
    image: helloworld:v2.0
    build: #镜像构建
      context: . #工作目录
      dockerfile: HelloWorld/Dockerfile #Dockerfile位置
    environment: #环境变量
      - ASPNETCORE_ENVIRONMENT=Development
    ports: #端口映射
      - "81:80"
    container_name: netcore_helloworld #容器名
    deploy:
      restart_policy: #重启策略
        condition: on-failure
        delay: 5s
        max_attempts: 3
    networks: #指定network
      - default
      - newbridge
      
  mynginx:
    image: mynginx:v2.0
    build:
      context: MyNginx
      dockerfile: Dockerfile
    ports:
      - "80:80"
      - "801:801"
    container_name: mynginx
    deploy:
      restart_policy:
        condition: on-failure
        delay: 5s
        max_attempts: 3
    networks:
      - default

networks:
  default: #定义一个docker中已存在的network
    external: 
      name: mybridge
  newbridge: #新的network
    #name: newbridge  #compose版本3.5开始才支持自定义名称

 

2.启动容器

https://docs.docker.com/compose/reference/up/

docker-compose up [options] [--scale SERVICE=NUM...] [SERVICE...]

docker-compose up指令包含了docker-compose build,当yml文件services中配置的image(helloworld:v2.0和mynginx:v2.0)不存在时会先build这两个镜像,再创建container,

如果image已存在,则直接创建container

PS C:\Users\Administrator> cd C:\Users\Administrator\source\repos\AspNetCore_Docker
PS C:\Users\Administrator\source\repos\AspNetCore_Docker> docker-compose up -d
WARNING: Some services (helloworld, mynginx) use the ''deploy'' key, which will be ignored. Compose does not support ''deploy'' configuration - use `docker stack deploy` to deploy to a swarm.
Creating network "aspnetcore_docker_newbridge" with the default driver
Creating netcore_helloworld ... done
Creating mynginx            ... done
PS C:\Users\Administrator\source\repos\AspNetCore_Docker> docker images
REPOSITORY                             TAG                 IMAGE ID            CREATED             SIZE
mynginx                                v2.0                9c18561d7ab3        27 minutes ago      109MB
helloworld                             v2.0                c42e9f575fc4        24 hours ago        265MB
nginx                                  latest              62c261073ecf        9 days ago          109MB
mcr.microsoft.com/dotnet/core/sdk      2.2-stretch         e4747ec2aaff        3 weeks ago         1.74GB
mcr.microsoft.com/dotnet/core/aspnet   2.2-stretch-slim    f6d51449c477        3 weeks ago         260MB
docker4w/nsenter-dockerd               latest              2f1c802f322f        8 months ago        187kB
PS C:\Users\Administrator\source\repos\AspNetCore_Docker> docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                      NAMES
66ff08eda2ae        helloworld:v2.0     "dotnet HelloWorld.d…"   11 minutes ago      Up 11 minutes       0.0.0.0:81->80/tcp                         netcore_helloworld
5357b641a7b1        mynginx:v2.0        "nginx -g ''daemon of…"   11 minutes ago      Up 11 minutes       0.0.0.0:80->80/tcp, 0.0.0.0:801->801/tcp   mynginx

 

3.删除容器

PS C:\Users\Administrator\source\repos\AspNetCore_Docker> docker-compose down
WARNING: Some services (helloworld, mynginx) use the ''deploy'' key, which will be ignored. Compose does not support ''deploy'' configuration - use `docker stack deploy` to deploy to a swarm.
Stopping mynginx            ... done
Stopping netcore_helloworld ... done
Removing mynginx            ... done
Removing netcore_helloworld ... done
Network mybridge is external, skipping   #外部的bridge不会被删除,直接跳过
Removing network aspnetcore_docker_newbridge

 

四.远程镜像仓库

docker官方的只能创建一个免费私有仓库,国内各大云服务器商都有提供免费的、无限量的镜像仓库。


1.登录到远程registry

docker login --username=[username] ccr.ccs.tencentyun.com

PS C:\Users\Administrator> docker login --username=你的用户名 ccr.ccs.tencentyun.com
Password:
Login Succeeded

 

2.上传镜像

docker tag [ImageId] ccr.ccs.tencentyun.com/[namespace]/[ImageName]:[镜像版本号]

PS C:\Users\Administrator> docker tag c42e9f575fc4 ccr.ccs.tencentyun.com/wuuu/helloworld
PS C:\Users\Administrator> docker tag 9c18561d7ab3 ccr.ccs.tencentyun.com/wuuu/mynginx
PS C:\Users\Administrator> docker images
REPOSITORY                               TAG                 IMAGE ID            CREATED             SIZE
ccr.ccs.tencentyun.com/wuuu/mynginx      latest              9c18561d7ab3        2 days ago          109MB
mynginx                                  v2.0                9c18561d7ab3        2 days ago          109MB
ccr.ccs.tencentyun.com/wuuu/helloworld   latest              c42e9f575fc4        3 days ago          265MB
helloworld                               v2.0                c42e9f575fc4        3 days ago          265MB
nginx                                    latest              62c261073ecf        12 days ago         109MB
mcr.microsoft.com/dotnet/core/sdk        2.2-stretch         e4747ec2aaff        3 weeks ago         1.74GB
mcr.microsoft.com/dotnet/core/aspnet     2.2-stretch-slim    f6d51449c477        3 weeks ago         260MB
docker4w/nsenter-dockerd                 latest              2f1c802f322f        8 months ago        187kB
PS C:\Users\Administrator>

 
docker push ccr.ccs.tencentyun.com/[namespace]/[ImageName]:[镜像版本号]

PS C:\Users\Administrator> docker push ccr.ccs.tencentyun.com/wuuu/helloworld
The push refers to repository [ccr.ccs.tencentyun.com/wuuu/helloworld]
... latest: digest: sha256:d991fe759257905f727593cc09d8299462e20e31ada3a92023a48fbc130f7484 size:
1581 PS C:\Users\Administrator> docker push ccr.ccs.tencentyun.com/wuuu/mynginx The push refers to repository [ccr.ccs.tencentyun.com/wuuu/mynginx]
...
latest: digest: sha256:0eda000278411f5b6e034944993f6f5b94825125124f67cc7caf4e684aad5a85 size: 1155 PS C:\Users\Administrator>

 

2.通过远程镜像启动容器

在原yml文件基础上移除build项,修改image地址。

docker compose up会从远程仓库pull镜像并启动容器,如果是私有仓库,需要提前登录到远程registry。

version: ''3.4''

services:
  helloworld:
    image: ccr.ccs.tencentyun.com/wuuu/helloworld
    environment: #环境变量
      - ASPNETCORE_ENVIRONMENT=Development
    ports: #端口映射
      - "81:80"
    container_name: netcore_helloworld #容器名
    deploy:
      restart_policy: #重启策略
        condition: on-failure
        delay: 5s
        max_attempts: 3
    networks: #指定network
      - default
      - newbridge
      
  mynginx:
    image: ccr.ccs.tencentyun.com/wuuu/mynginx
    ports:
      - "80:80"
      - "801:801"
    container_name: mynginx
    deploy:
      restart_policy:
        condition: on-failure
        delay: 5s
        max_attempts: 3
    networks:
      - default

networks:
  default: #定义一个docker中已存在的network
    external: 
      name: mybridge
  newbridge: #新的network
    #name: newbridge  #compose版本3.5开始才支持自定义名称

 

示例代码Github地址:https://github.com/wwwu/AspNetCore_Docker

 

  • AspNetCore容器化(Docker)部署(一) —— 入门
  • AspNetCore容器化(Docker)部署(二) —— 多容器通信
  • AspNetCore容器化(Docker)部署(三) —— Docker Compose容器编排
  • AspNetCore容器化(Docker)部署(四) —— Jenkins自动化部署

 

Docker - 03 编排容器 Docker Compose 指令速查表

Docker - 03 编排容器 Docker Compose 指令速查表

docker

目录

  • 01 Docker 常用指令、参数配置速查表
  • 02 Dockerfile 指令速查表
  • 03 Docker Compose 指令速查表

Docker - 03 编排容器 Docker Compose 指令速查表

1 docker-compose CLI 命令

1.1 主要

 命令 说明 使用
up 创建并运行作为服务的容器 ducafecat_2018-08-16-11-42-05
down 停止服务容器并清除 ducafecat_2018-08-16-11-42-33

1.2 其它

 命令 说明 使用
bind build需要的镜像 build [options] [--build-arg key=val...] [SERVICE...]
config 验证脚本 config [options]
create 创建镜像不启动 create [options] [SERVICE...]
events 监听容器事件 events [options] [SERVICE...]
exec 执行指定容器执行程序 exec [options] [-e KEY=VAL...] SERVICE COMMAND [ARGS...]
run 运行容器一次性的程序 run [options] [-v VOLUME...] [-p PORT...] [-e KEY=VAL...] [-l KEY=VALUE...] SERVICE [COMMAND] [ARGS...]
kill 强行停止服务 kill [options] [SERVICE...]
pause 暂停服务 pause [SERVICE...]
unpause 恢复被暂停的服务 unpause [SERVICE...]
stop 停止运行一个服务的所有容器 stop [options] [SERVICE...]
start 启动运行某个服务的所有容器 start [SERVICE...]
restart 重启某个服务的所有容器 restart [options] [SERVICE...]
rm 删除停止的服务(容器) rm [options] [SERVICE...]
logs 展示service的日志 logs [options] [SERVICE...]
top 容器资源占用 top [SERVICE...]
ps 容器列表 ps [options] [SERVICE...]
port 查看服务中的端口被映射到了宿主机的哪个端口上 port [options] SERVICE PRIVATE_PORT
pull 拉取服务依赖的镜像 pull [options] [SERVICE...]
push 提交镜像 push [options] [SERVICE...]
bundle 打包 DAB 文件 bundle [options]
scale 指定某一个服务启动的容器的个数 scale [SERVICE=NUM...]

2 docker-compose 指令速查表

按字母排列

命令 说明 用法
build 编译Dockerfile生成镜像 ducafecat_2018-08-16-10-59-07
command 覆盖容器启动后默认执行的命令 ducafecat_2018-08-16-10-59-36
container_name 容器的名字 ducafecat_2018-08-16-10-59-52
cap_add,cap_drop 加入或者去掉容器能力 ducafecat_2018-08-15-18-18-29
depends_on 容器的依赖 ducafecat_2018-08-16-11-00-51
configs 导入配置 ducafecat_2018-08-16-11-01-17
dns 设置DNS ducafecat_2018-08-16-11-02-46
dns_search 自定义DNS搜索范围 ducafecat_2018-08-16-11-04-10
devices 设备映射列表 ducafecat_2018-08-16-11-04-29
driver_opts 给驱动传值 ducafecat_2018-08-16-11-05-25
entrypoint 指定接入点 ducafecat_2018-08-16-11-08-49
env_file 导入环境变量文件 ducafecat_2018-08-16-11-09-15
environment 设置环境变量 ducafecat_2018-08-16-11-09-34
expose 暴露的端口 ducafecat_2018-08-16-11-09-50
external_links 连接单独启动的容器 ducafecat_2018-08-16-11-10-07
extra_hosts 修改 /etc/hosts ducafecat_2018-08-16-11-10-25
healthcheck 检查状态 ducafecat_2018-08-16-11-10-57
image 镜像 ducafecat_2018-08-16-11-13-55
labels 向容器添加元数据 ducafecat_2018-08-16-11-14-20
links 连接容器 ducafecat_2018-08-16-11-15-38
logging 配置日志服务 ducafecat_2018-08-16-11-16-42ducafecat_2018-08-16-11-16-53
network_mode 网络模式 ducafecat_2018-08-16-11-17-10
networks 加入指定网络 ducafecat_2018-08-16-11-17-24
pid 跟主机系统共享进程命名空间 ducafecat_2018-08-16-11-33-03
ports 映射端口 ducafecat_2018-08-16-11-18-48ducafecat_2018-08-16-11-19-01
restart 出错重启方式 ducafecat_2018-08-16-11-18-04
stop_signal 设置另一个信号来停止容器 ducafecat_2018-08-16-11-30-54
tmpfs 挂载临时目录到容器内部 ducafecat_2018-08-16-11-31-11
volumes 挂载一个目录 ducafecat_2018-08-16-11-31-43

3 例子 - 运行容器服务 WordPress

  • 编写 docker-compose.yml
version: ''3.3''

services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
volumes:
    db_data:
  • 运行 docker-compose up

参考

  • docker-compose CLI
  • Docker Compose
  • Get started with WordPress
  • Compose file version 3 reference

© 会煮咖啡的猫咪

Docker Compose 版本过高(Docker 版本不匹配),降低 docker-compose 版本

Docker Compose 版本过高(Docker 版本不匹配),降低 docker-compose 版本

通过 docker-compose 启动容器,报错:

ERROR: The Docker Engine version is less than the minimum required by Compose. Your current project requires a Docker Engine of version 1.10.0 or greater.

  

升级 Docker 过于麻烦,只能降 docker-compose 的版本。

先看一下我们已经安装的 Docker 版本:

[root@Redmine-186 docker-compose]# docker -v
Docker version 1.7.1, build 786b29d/1.7.1

  经查 Docker Compose Github Docs,发现 docker-compose 1.5.2 版本是兼容 Docker 1.7.1 的:Note that Compose 1.5.2 requires Docker 1.7.1 or later.

  好了,开始降级 docker-compose,先卸载:

# pip uninstall docker-compose

  

再安装指定版本:

# pip install docker-compose==1.5.2

  至此,docker-compose 降版本成功!

docker-compose.yml 版本问题

解决完 docker-compse 版本问题适配之后,对着已有的 docker-compose.yml 执行 “,会提示不能正常识别 docker-compose.yml 文件中的内容。究其原因,是因为我们的 docker-compose 1.5.2 只支持 V1 版本的 docker-compose.yml ,那么好,把现在 V2 版本的 docker-compose.yml 改成 V1 版本的格式。

V1 版本的 docker-compose.yml 只被支持到 docker-compose 1.6.x。再往后的 docker-compose 版本就不再支持 V1 版本的 docker-compose.yml。

先看文档:Compose file versions and upgrading。

V1 版本的 docker-compose.yml 文件格式主要区别就是: 
- 没有开头的 version 声明 
- 没有 services 声明 
- 不支持 depends_on 
- 不支持命名的 volumes, networks, build arguments 声明 
- 其他我没用到的所以没细究的区别

附录

  • How To Install Docker on CentOS 6
  • Docker and docker-compose in CentOS 6
  • 关于 pip 安装时提示 pkg_resources.DistributionNotFound 错误问题
  • CentOS 升级 Python2.7
  • ERROR: The Docker Engine version is less than the minimum required by Compose
  • Docker Compose Github Docs
  • Compose file versions and upgrading

DOCKER 学习笔记4 认识DockerCompose 多容器编排

DOCKER 学习笔记4 认识DockerCompose 多容器编排

前言

通过上一节的学习,学会了如何在Linux 环境下搭建Docker并且部署Springboot 项目,并且成功的跑了起来,当然,在生产环境中,不只是需要一个后端的Web 项目,还需要比如 Nginx 作为反向代理。数据库也需要单独部署在一个容器里面,要是我们像之前学过的那样一个个部署,那岂不是很麻烦。

所以,我们需要一套东西来帮助我们实现这个功能,那就是今天要学习的Docker Compose 容器编排技术。

Docker Compose

Docker Compose 用于定义和运行多容器Docker应用程序的工具,通过YAML文件来定义应用程序里面的服务。而后,通过一个命令,即可启动这些容器所产生的服务。

基本步骤:

  1. 定义 Dockerfile 自定义镜像
  2. 编辑 docker-compose.yml 进行容器服务的编排
  3. docker-compose up 创建和启动容器服务

安装 Compose

Github 安装

从github 拉取最新版本的Compose 本地编译安装。推荐方式,错误少,可直接安装。

github https://github.com/docker/compose/releases

当前Github 最新版本为 1.25.4

## 下载最新版的Docker Compose 二进制包
curl -L https://github.com/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

## 赋予可执行权限
chmod +x /usr/local/bin/docker-compose

## 检查版本信息
docker-compose -v

image.png

pip 安装

这是种比较保守的安装方法,相较于上面的安装方法,建议还是采用上面的安装方法。

## 安装epel 额外的源
yum -y install epel-release

## 安装python-pip
yum -y install python-pip

## 更新pip 到最新版本
pip install -U pip

## install
pip install docker-componse

## 检查安装情况
docker-compose -v

测试使用

确保我们已经正常的安装了Docker Compose,我们将采用官网的DEMO 进行演示,在此,你不需要安装Python 以及Redis

1. 创建目录


mkdir -p composetest

cd composetest

2. 创建一个pyton web


## 创建app.py
vi app.py

## 复制以下内容到文件内保存退出

import time

import redis
from flask import Flask

app = Flask(__name__)
cache = redis.Redis(host=''redis'', port=6379)


def get_hit_count():
    retries = 5
    while True:
        try:
            return cache.incr(''hits'')
        except redis.exceptions.ConnectionError as exc:
            if retries == 0:
                raise exc
            retries -= 1
            time.sleep(0.5)


@app.route(''/'')
def hello():
    count = get_hit_count()
    return ''Hello World! I have been seen {} times.\n''.format(count)


## 创建一个文件用于保存命令
vi requirements.txt

## 保存以下内容
flask
redis

自定义镜像


## 创建新的Dockerfile 
vi Dockerfile

## 加入以下内容

FROM python:3.7-alpine
WORKDIR /code
ENV FLASK_APP app.py
ENV FLASK_RUN_HOST 0.0.0.0
RUN apk add --no-cache gcc musl-dev linux-headers
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
COPY . .
CMD ["flask", "run"]

这告诉Docker:

从Python 3.7映像开始构建映像。 将工作目录设置为。/code 设置命令使用的环境变量。flask 安装gcc,以便诸如MarkupSafe和SQLAlchemy之类的Python包可以编译加速。 复制并安装Python依赖项。requirements.txt 将项目中的当前目录复制到映像中的工作目录。.. 将容器的默认命令设置为。flask run

撰写容器编排


## 创建docker-compose.yml 文件
vi docker-compose.yml

## 加入以下内容

version: ''3''
services:
  web:
    build: .
    ports:
      - "5000:5000"
  redis:
    image: "redis:alpine"

网络服务

该web服务使用从Dockerfile当前目录中构建的映像。然后,它将容器和主机绑定到暴露的端口5000。此示例服务使用Flask Web服务器的默认端口5000。

Redis服务

该redis服务使用 从Docker Hub注册表中提取的公共Redis映像。

运行服务

docker-compose up

Starting composetest_redis_1 ... done
Recreating composetest_web_1 ... done
Attaching to composetest_redis_1, composetest_web_1
redis_1  | 1:C 09 Feb 2020 02:14:31.462 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
redis_1  | 1:C 09 Feb 2020 02:14:31.462 # Redis version=5.0.7, bits=64, commit=00000000, modified=0, pid=1, just started
redis_1  | 1:C 09 Feb 2020 02:14:31.462 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
redis_1  | 1:M 09 Feb 2020 02:14:31.463 * Running mode=standalone, port=6379.
redis_1  | 1:M 09 Feb 2020 02:14:31.463 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
redis_1  | 1:M 09 Feb 2020 02:14:31.463 # Server initialized
redis_1  | 1:M 09 Feb 2020 02:14:31.463 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add ''vm.overcommit_memory = 1'' to /etc/sysctl.conf and then reboot or run the command ''sysctl vm.overcommit_memory=1'' for this to take effect.
redis_1  | 1:M 09 Feb 2020 02:14:31.463 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command ''echo never > /sys/kernel/mm/transparent_hugepage/enabled'' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
redis_1  | 1:M 09 Feb 2020 02:14:31.463 * DB loaded from disk: 0.000 seconds
redis_1  | 1:M 09 Feb 2020 02:14:31.463 * Ready to accept connections
web_1    |  * Serving Flask app "app.py"
web_1    |  * Environment: production
web_1    |    WARNING: This is a development server. Do not use it in a production deployment.
web_1    |    Use a production WSGI server instead.
web_1    |  * Debug mode: off
web_1    |  * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)

服务成功的运行在5000端口下,访问尝试,而后刷新,观察计数器的变化! image.png

常用命令

docker-compose up -d 后台运行服务

[root@mrclinux composetest]# docker-compose up -d
Starting composetest_web_1   ... done
Starting composetest_redis_1 ... done

docker-compose ps 查看当前的运行容器

[root@mrclinux composetest]# docker-compose ps
       Name                      Command               State           Ports         
-------------------------------------------------------------------------------------
composetest_redis_1   docker-entrypoint.sh redis ...   Up      6379/tcp              
composetest_web_1     flask run                        Up      0.0.0.0:8080->5000/tcp

docker-compose images 查看已存在的镜像信息

[root@mrclinux composetest]# docker-compose images
     Container          Repository       Tag       Image Id       Size  
------------------------------------------------------------------------
composetest_redis_1   docker.io/redis   alpine   b68707e68547   29.78 MB
composetest_web_1     composetest_web   latest   0a812986cca6   221.8 MB

docker-compose stop 用来停止容器,不删除它,可以再次使用start启用

[root@mrclinux composetest]# docker-compose stop
Stopping composetest_web_1   ... done
Stopping composetest_redis_1 ... done

docker-compose start 使用start 启动存在的容器服务

[root@mrclinux composetest]# docker-compose start
Starting web   ... done
Starting redis ... done

docker-compose down 停止服务并且移除容器


[root@mrclinux composetest]# docker-compose down
Stopping composetest_web_1   ... done
Stopping composetest_redis_1 ... done
Removing composetest_web_1   ... done
Removing composetest_redis_1 ... done
Removing network composetest_default

docker-compose up 创建以及启动服务

参考

https://docs.docker.com/compose/

https://www.cnblogs.com/ityouknow/p/8648467.html

原文出处:https://www.cnblogs.com/ChromeT/p/12286484.html

今天的关于docker-compose 仅适用于某些容器docker compose适用于什么场景的分享已经结束,谢谢您的关注,如果想了解更多关于AspNetCore容器化(Docker)部署(三) —— Docker Compose容器编排、Docker - 03 编排容器 Docker Compose 指令速查表、Docker Compose 版本过高(Docker 版本不匹配),降低 docker-compose 版本、DOCKER 学习笔记4 认识DockerCompose 多容器编排的相关知识,请在本站进行查询。

本文标签: