Docker Compose的常用命令与docker-compose.yml脚本属性配置

这篇具有很好参考价值的文章主要介绍了Docker Compose的常用命令与docker-compose.yml脚本属性配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

常见命令

注意:需要在docker-compose配置文件同目录下执行命令

不然提示如下:

no configuration file provided: not found

ps:列出所有运行容器

docker-compose ps

docker-compose.yml port,docker,容器,运维

logs:查看服务日志输出

docker-compose logs web

docker-compose.yml port,docker,容器,运维

port:打印绑定的公共端口

下面命令可以输出 web服务 5000 端口所绑定的公共端口

docker-compose port web 5000

docker-compose.yml port,docker,容器,运维

build:构建或者重新构建服务

docker-compose build

docker-compose.yml port,docker,容器,运维

start:启动指定服务已存在的容器

docker-compose start redis

docker-compose.yml port,docker,容器,运维

stop:停止已运行的服务的容器(优雅地关闭)

会优雅地停止服务,即发送 SIGTERM 信号给容器,等待一段时间(默认为 10 秒)让容器执行清理操作,然后再发送 SIGKILL 信号强制关闭容器。这样可以确保容器能够正常地关闭,并且可以保存容器中的数据。如果在 docker-compose.yml 文件中定义了 stop_grace_period 选项,可以通过该选项来指定停止容器的等待时间

docker-compose stop web #停止web容器

docker-compose stop 	#不指定具体服务,则停止组合的所有的容器

停止所有:
docker-compose.yml port,docker,容器,运维

rm:删除指定服务的容器

docker-compose rm redis

up:构建、启动容器

docker-compose up

docker-compose up -d #后台运行

如果容器不存在,则构建容器并启动;如果容器已经存在了但未启动,则启动容器;如果容器存在并启动了,则会提示容器正在运行中;

注意:如果修改了应用的代码,需要先删除镜像,再构建up

docker-compose.yml port,docker,容器,运维

参数 --scale:设置指定服务运行容器的个数(可实现负载均衡搭配nginx)

用于扩展或缩小Docker Compose中的服务。该命令可用于将服务的实例数增加或减少到所需的数量。例如,如果您有一个web服务,您可以使用docker-compose scale命令将其实例数增加到3个,以便在高负载时处理更多请求。Docker Compose将自动创建和启动新的容器,以满足所需的数量。此命令可以通过以下方式使用:

docker-compose up -d --scale <service-name>=<number-of-instances>

其中,是要扩展或缩小的服务名称,是要创建的实例数。
例如,要将web服务的实例数增加到3个,可以使用以下命令:

docker-compose up -d --scale web=3

kill:通过发送 SIGKILL 信号来停止指定服务的容器(强制关闭)

直接发送 SIGKILL 信号给容器,强制关闭容器。这样会立即停止容器,但是可能会导致容器中的数据丢失或损坏

docker-compose kill redis

pull:下载服务镜像

docker-compose pull  #拉取所有服务所需的镜像

docker-compose pull web  #拉取web服务所需的镜像

在使用 docker-compose up 命令启动服务时,如果本地已经存在所需的镜像,则不会再次拉取镜像。但是,在使用 docker-compose pull 命令时,即使本地已经存在所需的镜像,也会重新拉取最新版本的镜像。

docker-compose pull 命令可以确保所使用的镜像版本是最新的。在部署应用程序时,可以将该命令与 docker-compose up 命令结合使用,以确保使用的镜像版本是最新的。文章来源地址https://www.toymoban.com/news/detail-607172.html

run:在一个服务上执行一个命令

docker-compose run web bash

docker-compose.yml脚本属性配置

  • version:指定 docker-compose.yml 文件的写法格式
  • services:多个容器集合
  • build:配置构建时,Compose 会利用它自动构建镜像,该值可以是一个路径,也可以是一个对象,用于指定 Dockerfile 参数
build: ./dir
---------------
build:
    context: ./dir
    dockerfile: Dockerfile
    args:
        buildno: 1
  • command:覆盖容器启动后默认执行的命令
command: bundle exec thin -p 3000
----------------------------------
command: [bundle,exec,thin,-p,3000]
  • dns:配置 dns 服务器,可以是一个值或列表
dns: 8.8.8.8
------------
dns:
    - 8.8.8.8
    - 9.9.9.9
  • dns_search:配置 DNS 搜索域,可以是一个值或列表
dns_search: example.com
------------------------
dns_search:
    - dc1.example.com
    - dc2.example.com
  • environment:环境变量配置,可以用数组或字典两种方式
environment:
    RACK_ENV: development
    SHOW: 'ture'
-------------------------
environment:
    - RACK_ENV=development
    - SHOW=ture
  • env_file:从文件中获取环境变量,可以指定一个文件路径或路径列表,其优先级低于 environment 指定的环境变量
env_file: .env
---------------
env_file:
    - ./common.env
  • expose:暴露端口,只将端口暴露给连接的服务,而不暴露给主机
expose:
    - "3000"
    - "8000"
  • image:指定服务所使用的镜像
image: java
  • network_mode:设置网络模式
network_mode: "bridge"
network_mode: "host"
network_mode: "none"
network_mode: "service:[service name]"
network_mode: "container:[container name/id]"
  • ports:对外暴露的端口定义,和 expose 对应
ports:   # 暴露端口信息  - "宿主机端口:容器暴露端口"
- "8763:8763"
- "8763:8763"
  • links:将指定容器连接到当前连接,可以设置别名,避免ip方式导致的容器重启动态改变的无法连接情况
links:    # 指定服务名称:别名 
    - docker-compose-eureka-server:compose-eureka
  • volumes:卷挂载路径
volumes:
  - /lib
  - /var
  • logs:日志输出信息
--no-color          单色输出,不显示其他颜.
-f, --follow        跟踪日志输出,就是可以实时查看日志
-t, --timestamps    显示时间戳
--tail              从日志的结尾显示,--tail=200

到了这里,关于Docker Compose的常用命令与docker-compose.yml脚本属性配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker搭建LNMP环境实战(06):Docker及Docker-compose常用命令

    此处列举了docker及docker-compose的常用命令,一方面可以做个了解,另一方面可以在需要的时候进行查阅。不一定要强行记忆,用多了就熟悉了。 1.1、镜像常用命令 1)列举镜像 2)删除镜像 3)使用repositories:tag进行删除 1.2、容器常用命令 1)列举所有容器 2)列举正在运行的容

    2024年03月27日
    浏览(49)
  • docker-compose.yml报错问题

    ERROR: The Compose file \\\'./docker-compose.yml\\\' is invalid because: Invalid top-level property \\\"True\\\". Valid top-level sections for this Compose file are: version, services, networks, volumes, secrets, configs, and extensions starting with \\\"x-\\\". You might be seeing this error because you\\\'re using the wrong Compose file version. Either specify a supported vers

    2024年02月14日
    浏览(49)
  • docker-compose.yml配置文件参数

    1. image 在 services 标签下的第二级标签是 web,这个名字是用户自己自定义,它就是服务名称。 image 则是 指定服务的镜像名称或镜像 ID 。如果镜像在本地不存在,Compose 将会尝试拉取这个镜像。 2. environment 环境变量 ,这个标签的作用是 设置镜像变量 ,它可以保存变量到镜像

    2024年02月10日
    浏览(43)
  • 如何使用docker-compose.yml构建镜像?

    使用 docker-compose.yml 文件来构建镜像,你需要在该文件中对你的服务进行定义,然后使用 docker-compose build 命令。 假设你有一个 docker-compose.yml 文件,它定义了一个名为 “web” 的服务,并指定了构建该服务所需的 Dockerfile 的路径,如下所示: 在这个例子中, build: . 指出 Dock

    2024年02月12日
    浏览(82)
  • docker-compose.yml 文件更改后想使之立刻生效,但是不想手动删除已经建立的 container 等信息可以运行下面命令

    docker-compose.yml 文件更改后想使之立刻生效,但是不想手动删除已经建立的 container 等信息可以运行下面命令 重新创建容器实现修改

    2024年02月16日
    浏览(44)
  • 对象存储, 开源MinIO docker-compose.yml 文件

    https://min.io/docs/minio/linux/developers/python/API.html 经过验证,可以启动。 访问http://127.0.0.1:9001/ 登录一下(用户名和密码在 docker-compose 文件中已经配置) 配置 bucket 再配置 bucket 的accessKey, secretKey, 配置完后之后,可以下载这些配置文件为 json 文件到本地这个文件很重要, 在业

    2024年01月19日
    浏览(52)
  • 使用docker/docker-compose通过自定义的redis.conf文件启动redis 7.2.3,附上docker-compose.yml的redis配置

    目录 一.复制以及使用自定义的redis.conf文件 1.在官网拷贝对应版本的配置文件内容新建redis.conf文件进行粘贴。(推荐) 2.也可以去官网下载对应版本的redis的tar.gz包,解压后在根目录下找到redis.conf文件复制也可也可。 二.配置redis.conf文件(这里有个小坑) 1.注释掉bind 127.0.0.1

    2024年02月03日
    浏览(59)
  • 在docker编排文件docker-compose.yml中,指定容器的ip地址

    在docker-compose的yaml文件中,可以使用networks来指定容器的ip地址。具体来说,可以在services下面的某个service中添加networks字段,然后在该字段下面添加ipv4_address字段来指定该容器的ip地址。例如: 以上我们定义了一个名为back-tier的网络,然后在web服务中使用了该网络,并指定了

    2024年02月08日
    浏览(50)
  • ERROR: Version in “./docker-compose.yml“ is unsupported

    错误原因:------              docker-compose版本过低 解决方式: 直接改成3.3  或者你保存信息中提到的版本号 首先要查看docker-compose的路径 根据上一步的 whereis 找到了docker-compose的路径为: /usr/bin/docker-compose ,所以下面的脚本,路径也替换为这个就可以了。 下载 授权 版本号

    2024年02月16日
    浏览(47)
  • docker-composeERROR:ERROR: Version in “./docker-compose.yml“ is unsupported

    常见问题 docker compose出现ERROR:ERROR: Version in \\\"./docker-compose.yml\\\" is unsupported. You might be seeing this error because you\\\'re using the wrong Compose file version. Either specify a supported version (\\\"2.0\\\", \\\"2.1\\\", \\\"3.0\\\") and place your service definitions under the `services` key, 原因:docker-compose版本不对,需要升级版本 下载地

    2024年02月11日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包