docker-compose基础(一)
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,docker-compose是一个用于定义和运行多容器Docker应用程序的工具。使用Compose,可以使用YAML文件来配置应用程序的服务。然后,使用单个命令,可以从配置中创建并启动所有服务。do
千家信息网最后更新 2025年12月01日docker-compose基础(一)
docker-compose是一个用于定义和运行多容器Docker应用程序的工具。使用Compose,可以使用YAML文件来配置应用程序的服务。然后,使用单个命令,可以从配置中创建并启动所有服务。
docker-compose步骤
- 使用Dockerfile定义应用程序的环境.
- 在
docker-compose.yml中定义构成应用程序的服务. - 运行
docker-compose up启动并运行整个应用程序。
安装compose
- 下载当前稳定版本并赋予执行权限
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composesudo chmod +x /usr/local/bin/docker-compose- 设置环境变量
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose#或者:vim /etc/profileexport COMPOSE=/usr/local/bin/export PATH=$COMPOSE:$PATH#执行: source /etc/profile 生效.更新
从版本1.3开始,Compose使用Docker标签来跟踪容器,并且需要重新创建容器以添加标签。 如果Compose检测到没有标签创建的容器,它将拒绝运行.
卸载
sudo rm /usr/local/bin/docker-compose#或者:pip uninstall docker-composecompose命令详解
build命令
Usage: build [options] [--build-arg key=val...] [SERVICE...]选项: --compress 使用gzip压缩构建上下文--force-rm 始终移除中间容器--no-cache 构建镜像时不要使用缓存--pull 拉取最新版本的镜像-m, --memory MEM 设置构建容器的内存限制--build-arg key=val 设置服务的构建时候的变量 --parallel 并行构建镜像注意: 如果更改服务的Dockerfile,请运行docker-compose build进行重建。
bundle命令
Usage: bundle [options]选项:--push-images 自动推送构建以后的服务的镜像-o, --output PATH 将包文件写入的路径config命令
Usage: config [options]选项:--resolve-image-digests 镜像摘要的标记--no-interpolate 不要插入环境变量-q, --quiet 仅验证配置,不打印任何内容--services 打印服务名称,每行一个--volumes 打印存储卷名称,每行一个--hash="*" 打印服务配置哈希,每行一个。设置"service1,service2"以获取指定服务的列表或使用通配符来显示所有服务。create命令
为服务创建容器Usage: create [options] [SERVICE...]选项: --force-recreate 即使没有更改配置,也要重新创建容器--no-recreate 如果容器已存在,请不要重新创建。--no-build 即使容器丢失,也不要构建镜像. --build 在创建容器之前构建镜像down命令
Usage: down [options]选项:--rmi type 删除镜像。类型: 'all':删除任何服务使用的所有图像。 'local':仅删除没有的图像 自定义标签由image字段设置。-v, --volumes 删除volumes中声明的存储卷--remove-orphans 删除没有在文件中定义的服务的容器-t, --timeout TIMEOUT 以秒为单位指定关闭超时(默认10s)默认删除的内容:在Compose文件中定义的服务的容器和定义的服务的网络.
注意:永远不会删除定义为外部的网络和卷.:
events命令
Usage: events [options] [SERVICE...]选项:--json 将事件输出为json对象流exec命令
Usage: exec [options] [-e KEY=VAL...] SERVICE COMMAND [ARGS...]选项:-d, --detach 在后台运行命令--privileged 为进程提供扩展权限-u, --user USER 以该用户身份运行该命令-T 禁用伪tty分配。默认情况下`docker-compose exec`分配TTY--index=index 容器的索引.-e, --env KEY=VAL 设置环境变量-w, --workdir DIR 此命令的workdir目录的路径images命令
Usage: images [options] [SERVICE...]选项:-q, --quiet 仅显示IDkill命令
Usage: kill [options] [SERVICE...]选项:-s SIGNAL SIGNAL信号发送到容器,默认信号是SIGKILL通过发送SIGKILL信号强制运行容器停止:docker-compose kill -s SIGINTlogs命令
Usage: logs [options] [SERVICE...]选项:--no-color 产生单色输出-f, --follow 按照日志输出-t, --timestamps 显示时间戳--tail="all" 每个容器的日志末尾显示的行数pause命令
Usage: pause [SERVICE...]暂停运行服务的容器: docker-compose unpauseport命令
Usage: port [options] SERVICE PRIVATE_PORT选项:--protocol=proto tcp或udp.默认是tcp--index=index 容器的索引.ps命令
Usage: ps [options] [SERVICE...]选项:-q, --quiet 仅显示id--services 显示服务--filter KEY=VAL 按属性过滤服务-a, --all 显示所有已停止的容器pull命令
Usage: pull [options] [SERVICE...]--ignore-pull-failures 拉取镜像失败时忽略--parallel 并行拉取镜像--no-parallel 禁用并行拉取镜像-q, --quiet 拉取镜像时不打印进度信息--include-deps 将服务声明为依赖项push命令
Usage: push [options] [SERVICE...]选项:--ignore-push-failures 推送镜像失败时忽略restart命令
Usage: restart [options] [SERVICE...]选项:-t, --timeout TIMEOUT 以秒为单位指定关闭超时rm命令
Usage: rm [options] [SERVICE...]选项:-f, --force 不要询问是否删除,强制删除.-s, --stop 在移除之前停止容器-v 删除附加到容器的存储卷列出所有卷,使用docker volume ls。 任何不在卷中的数据都将丢失。删除已停止的服务容器。 默认情况下,不会删除附加到容器的存储卷run命令
Usage: run [options] [-v VOLUME...] [-p PORT...] [-e KEY=VAL...] [-l KEY=VALUE...] SERVICE [COMMAND] [ARGS...]选项:-d, --detach 在后台运行容器,打印新容器名称--name NAME 为容器指定名称--entrypoint CMD 覆盖镜像的入口点-e KEY=VAL 设置环境变量-l, --label KEY=VAL 添加或覆盖标签(可多次使用)-u, --user="" 以指定的用户名或uid运行--no-deps 不要启动依赖的服务--rm 运行后删除容器-p, --publish=[] 将容器的端口发布到主机--service-ports 在启用并映射服务端口的情况下运行命令给主机.--use-aliases 在网络中使用服务的网络别名-v, --volume=[] 绑定一个存储卷-w, --workdir="" 容器内的工作目录例如:docker-compose run --service-ports web python manage.py shelldocker-compose run --publish 8080:80 -p 2022:22 -p 127.0.0.1:2021:21 web python manage.py shelldocker-compose run db psql -h db -U dockerdocker-compose run --no-deps web python manage.py shellscale命令
请使用带有--scale标志的up命令。Usage: scale [options] [SERVICE=NUM...]选项:-t, --timeout TIMEOUT 以秒为单位指定关闭超时设置要为服务运行的容器数。 数字以service = num的形式指定为参数:docker-compose scale web=2 worker=3start命令
Usage: start [SERVICE...]启动服务的现有容器stop命令
Usage: stop [options] [SERVICE...]-t, --timeout TIMEOUT 以秒为单位指定关闭超时top命令
Usage: top [SERVICE...]显示运行的进程.unpause命令
Usage: unpause [SERVICE...]取消暂停服务的暂停容器up命令
Usage: up [options] [--scale SERVICE=NUM...] [SERVICE...]选项:-d, --detach 在后台运行容器,打印新的容器名称--no-color 产生单色输出--quiet-pull 拉取时不打印进度信息--no-deps 不要启动与这个服务依赖的其他服务--force-recreate 即使配置也重新创建容器--always-recreate-deps 重新创建依赖容器--no-recreate 如果容器已存在,就不要创建.--no-build 即使丢失,也不要构建镜像.--no-start 创建后不要启动服务--build 在启动容器之前构建映像--abort-on-container-exit 如果有任何容器停止,则停止所有容器 -t, --timeout TIMEOUT 对容器使用此超时(以秒为单位)连接时或容器时关闭. -V, --renew-anon-volumes 重新创建存储卷,不检索之前容器的数据.--remove-orphans 删除未定义的服务的容器--exit-code-from SERVICE 返回所选服务的退出代码--scale SERVICE=NUM 将SERVICE扩展到NUM个实例
容器
命令
服务
运行
镜像
存储
配置
单位
变量
名称
应用程序
标签
环境
程序
应用
文件
网络
输出
信号
后台
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
如何入门嵌入式软件开发
上海工业软件开发零售价格
个人项目 游戏服务器
三丰服务器申请
智能物联网络技术就业前景
武汉众联网络技术有限公司
公司会从零培养软件开发员吗
数据库 where语句
电脑服务器主板组合
阿里云服务器电信无法连接
数据库表格好处
2018年软件开发工作总结
5w并发服务器性能
数据库面试java
服务器怎么更改账号密码
服务器可以共享给多个用户使用吗
如何在ei数据库上下载文献
网络安全基础白国强答案5
杭州网络安全应志斌
关于网络安全的说法错误的
云服务器宽计费是什么意思
深圳互悦互联网科技有限公司
外文数目数据库
天津网络安全申论
爬取重复数据库
dell 服务器硬盘报错
北京星增软件开发
网络安全的协议结构
孙磊网络安全
社会安全之网络安全