DockerCompose命令介绍与使用

Docker学习系列文章

1.Docker安装与卸载详细介绍
2.Docker常用命令介绍
3.Dockerfile 命令介绍
4.Docker Registry搭建与使用
5.Docker 数据管理
6.Docker三剑客Compose介绍与安装
7.DockerCompose命令介绍与使用

一.Compose常用命令

以下命令中出现得[]里得参数都是可选的

1、ps命令
列出所有运行容器

docker-compose ps

2、logs命令
查看容器日志输出,-f表示查看实时日志,容器名表示启动后的容器名,不指定则查看所有启动的容器

docker-compose logs [-f] [容器名]

3、port命令
打印绑定的公共端口,下面命令可以输出demo1服务8080端口所绑定的公共端口

docker-compose port javayh 8080

4、build命令
构建或者重新构建服务

docker-compose build

5、start命令
启动指定停止的容器, 如下实例中javayh 为一个容器,如果不指定,则启动所有已存在的

docker-compose start [javayh]

6、stop命令
停止已运行的容器,不指定则停止所有的

docker-compose stop [javayh]

7、rm命令
删除指定容器,必须为已停止的,如果不指定容器名,则删除所有

docker-compose rm [javayh]

8、up命令
构建和启动容器,-d为后台运行

docker-compose up [-d]

9、kill命令
通过发送SIGKILL信号来停止容器,不指定容器名则停止所有启动中的容器

docker-compose kill [javayh]

二.Docker Compose配置文件属性

1、version
指定docker-compose.yml文件的写法格式

version:"3"

2、services
多个容器集合

services:
  javayh1:
  javayh2:

3、build
配置构建时,Compose会利用它自动构建镜像,该值可以是一个路径,也可以是一个对象,用于指定Dockerfile, .表示Dockerfile所在目录的镜像

services:
  javayh:
    build: .

4、command
覆盖容器启动后默认执行的命令

command: bundle exec thin -p 3000

5、dns
配置 dns 服务器,可以是一个值或列表

dns:
    - 8.8.8.8

6、dns_search
配置DNS搜索域,可以是一个值或列表

dns_search:
    - www.example.com

7、environment
环境变量配置,可以用数组或字典两种方式

environment:
    - DEBUG=1

8、env_file
从文件中获取环境变量,可以指定一个文件路径或路径列表,其优先级低于environment指定的环境变量

env_file: .env

9、expose
暴露端口,只将端口暴露给连接的服务,而不暴露给主机

services:
  javayh:
    expose:
      - 8080

10、image
指定服务所使用的镜像

image: mysql

11、network_mode
设置网络模式

network_mode: "bridge"

12、ports
对外暴露的端口定义,和expose对应

暴露端口信息 - “宿主机端口:容器暴露端口”

ports:
  - "8763:8763"
  - "8763:8763"

13、links
将指定容器连接到当前连接,可以设置别名,避免ip方式导致的容器重启动态改变的无法连接情况

services:
  javayh1:
    # 服务名:别名
    links:
      - javayh2:demo

14、volumes
卷挂载路径

volumes:
  #  宿主机:容器
  - /srv

三.docker-compose使用

3.1 编写 docker-compose.yml 文件

version: "3"
services:
  javayh:
    container_name: javayh
    # 注意这里有 .  这里可以些路径,dockerfile容器的路径
    # 小编这里都在一个路径下
    build:  .
    ports:
      - "8001:8001"

在这里插入图片描述

3.2 启动项目

-d 可选,表示后台启动

docker-compose up [-d]

3.3 多服务配置

3.3.1 配置两个Dockerfile

内容基本上一样,端口自行选择

FROM java:8
ADD javayh-api-1.0.jar app.jar
EXPOSE 8001
ENTRYPOINT ["java","-jar","/app.jar"]
3.3.2 编制docker-compose.yml 文件

version: "3"
services:
  javayh1:
    container_name: javayh1
    build:  .
    ports:
      - "8001:8001"

  javayh2:
    container_name: javayh2
    build: ./test/
    ports:
      - "8081:8081"

这里需要主要,javayh2 build 在最后并没有 .
一个文件内有一个即可,否则会报如下错误

[root@javayh javayh]# docker-compose up
ERROR: build path /root/javayh/test/ . either does not exist, is not accessible, or is not a valid URL.

3.3.3 启动服务
 docker-compose up

在这里插入图片描述
总结
由上面可见, docker-compose 减少了我们部署的次数,通过配置,我们既可以一键部署多个服务,对于微服务还是非常实用的
本文的分享暂时就到这里,希望对您有所帮助
关注 Java有货领取更多资料

联系小编。微信:372787553,带您进群互相学习
左侧小编微信,右侧获取免费资料
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小杨同学~

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

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

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

打赏作者

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

抵扣说明:

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

余额充值