当前位置: 首页 > article >正文

docker-compose脚本编写关键词详解

docker-compose脚本编写高频关键词(一)

此处关键词应该必须能灵活运用

关键词

解释

例子

version

定义使用的docker-compose文件版本。较新的版本支持更丰富的功能和选项。

version: '3.8'

services

定义应用程序的各个服务及其配置。每个服务通常对应一个容器。

services: web:<br> image: nginx<br> ports:<br> - "8080:80"

image

指定服务所使用的镜像名称。

image: nginx

ports

将容器内部的端口映射到主机上的端口。

ports:<br> - "8080:80"

volumes

将主机上的目录或文件挂载到容器内部。用于持久化存储数据。

volumes:<br> - /path/on/host:/path/in/container

environment

设置容器的环境变量。

environment:<br> MYSQL_ROOT_PASSWORD: example

networks

定义容器所属的网络。

networks:<br> - backend

depends_on

定义服务之间的依赖关系。确保某个服务在另一个服务启动之前启动。

depends_on:<br> - database

restart

定义容器退出后的重启策略。

restart: always

docker-compose脚本编写关键词(二)

这些关键词可以根据你的应用程序需求来定制docker-compose文件,提供更多的灵活性和扩展性。它们包括构建镜像、命令定义、服务链接、端口暴露、网络连接、卷共享、健康检查、部署配置、日志记录、配置文件和机密等方面的功能。

关键词

解释

示例

build

定义构建镜像所需的Dockerfile路径或构建上下文。

build: ./app

command

指定容器启动时要执行的命令。

command: python app.py

links

将服务链接到另一个服务。

links:<br> - db

expose

暴露容器的端口给连接的服务或主机。

expose:<br> - 8080

networks

定义容器要连接到的网络。

networks:<br> - frontend<br> - backend

volumes_from

共享另一个服务的卷。

volumes_from:<br> - service_name

external_links

将服务链接到docker-compose文件外的容器。

external_links:<br> - container_name

healthcheck

定义容器的健康检查配置。

healthcheck:<br> test: ["CMD", "curl", "-f", "http://localhost

"]

deploy

定义服务的部署配置,如副本数、更新策略等。

deploy:<br> mode: replicated<br> replicas: 3

logging

定义服务的日志记录配置。

logging:<br> driver: syslog

configs

指定配置文件以供服务使用。

configs:<br> - myconfig

secrets

指定使用的加密机密。

secrets:<br> - mysecret

docker-compose脚本编写关键词(三)

这些关键词可以帮助你更精细地配置和管理docker-compose文件中的容器,例如指定用户、工作目录,覆盖入口点,设置停止信号等。这些功能可以满足对容器化应用程序更高级的需求,使得容器的运行环境更加灵活和定制化。

关键词

解释

示例

tty

分配一个伪终端设备给容器。

tty: true

stdin_open

打开标准输入流,允许在容器内部交互。

stdin_open: true

user

指定容器的运行用户。

user: "1000:1000"

working_dir

指定容器的工作目录。

working_dir: /app

entrypoint

覆盖容器默认的入口点。

entrypoint: /app/entrypoint.sh

stop_signal

指定发送给容器的停止信号。

stop_signal: SIGTERM

domainname

容器的域名。

domainname: example.com

hostname

容器的主机名。

hostname: my-container

ipc

共享容器间的IPC命名空间。

ipc: shareable

privileged

授予容器特权访问主机系统。

privileged: true

shm_size

指定容器的共享内存大小。

shm_size: 256M

tmpfs

将临时文件系统挂载到容器内部。

tmpfs:<br> - /run<br> - /tmp


http://www.kler.cn/a/153950.html

相关文章:

  • 机器翻译-基础与模型
  • 计算机编程中的测试驱动开发(TDD)及其在提高代码质量中的应用
  • SpringBoot Data Redis连接Redis-Cluster集群
  • 跨平台WPF框架Avalonia教程 一
  • 如何合理设计一套springcloud+springboot项目中的各个微服务模块之间的继承关系的最优方案
  • ubuntu20.04 更换清华源报错
  • LeetCode | 100. 相同的树
  • SALib敏感性分析入门实践笔记
  • Leetcode算法系列| 3. 无重复字符的最长子串
  • 初识Linux(下).妈妈再也不用担心我Linux找不到门了
  • YOLOv8-Seg改进:SENetV2,squeeze和excitation全面升级,效果优于SENet | 2023年11月最新成果
  • Long-Context下LLM模型架构全面介绍
  • mybatis中<association> 和 <collection>
  • 【CTA认证】Android认证桌面首页必须能看到顶部状态栏
  • 使用 mtcnn 和 facenet 进行人脸识别
  • 解决woocommerce产品方面遇到的小问题记录
  • 面试 Java 基础八股文十问十答第二期
  • 探索 Web API:SpeechSynthesis 与文本语言转换技术
  • 深度学习回顾:七种网络
  • Leetcode 第 110 场双周赛 Problem D 2809. 使数组和小于等于 x 的最少时间(DP+贪心+正难则反)
  • okhttp导致的内存溢出(OOM)sun.security.ssl.SSLSocketImpl
  • K8S集群搭建redis集群的步骤
  • Go 语言中的结构体:定义、初始化与高级用法解析
  • Linux中shell的运行原理
  • 好用的样式动画库集合(css、js)
  • C/C++ 发送与接收HTTP/S请求