docker-compose基础
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/profile
export 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-compose
compose命令详解
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 仅显示ID
kill命令
Usage: kill [options] [SERVICE...]
选项:
-s SIGNAL SIGNAL信号发送到容器,默认信号是SIGKILL通过发送SIGKILL信号强制运行容器停止:
docker-compose kill -s SIGINT
logs命令
Usage: logs [options] [SERVICE...]
选项:
--no-color 产生单色输出
-f, --follow 按照日志输出
-t, --timestamps 显示时间戳
--tail="all" 每个容器的日志末尾显示的行数
pause命令
Usage: pause [SERVICE...]
暂停运行服务的容器: docker-compose unpause
port命令
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 shell
docker-compose run --publish 8080:80 -p 2022:22 -p 127.0.0.1:2021:21 web python manage.py shell
docker-compose run db psql -h db -U docker
docker-compose run --no-deps web python manage.py shell
scale命令
请使用带有--scale标志的up命令。
Usage: scale [options] [SERVICE=NUM...]
选项:
-t, --timeout TIMEOUT 以秒为单位指定关闭超时设置要为服务运行的容器数。 数字以service = num的形式指定为参数:
docker-compose scale web=2 worker=3
start命令
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个实例
有帮到你点赞、收藏一下吧
需要更多教程,微信扫码即可
docker-compose基础相关推荐
- docker基础入门和docker compose实战
Docker运维部署 docker官网:https://www.docker.com/ 文档:https://docs.docker.com/ Docker的文档是超级详细的! 仓库:https:// ...
- Docker基础、利用Docker Compose部署Vue项目
前言 最近,接触了Docker,写一个笔记记录一下学习的成果.参考了docker官网和一个b站老师的讲解教程Docker快速上手教程,受益良多! 一.Docker安装和重要概念 1.安装docker ...
- 使用Docker Compose构建ZigBee基础架构
For me, the first half of 2020 was a start for ZigBee and home automation basics. After the lockdown ...
- Docker Compose 容器编排基础使用
Compose 是用于定义和运行多容器 Docker 应用程序的工具.通过 Compose,可以使用 YML 文件来配置应用程序需要的所有服务.然后,使用一个命令,就可以从 YML 文件配置中创建并启 ...
- Docker基础讲解狂神笔记:容器数据卷,docker compose,docker swarm(2/2)未修订版欢迎留言补漏
L06 容器数据卷 相对于01-05难度加大 什么是容器数据卷 Docker理念:将应用和环境打包成一个镜像! 程序要保存数据,数据并不能放在容器里面,因为一旦数据放在容器,误操作删除掉容器,数据也随 ...
- docker compose 停止_Docker-Compose 基础与实战,看这一篇就够啦
作者 | 飘渺Jam 责编 | 屠敏 出品 | CSDN 博客 what & why Compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排.使用前 ...
- Spring Boot 2.0(五):Docker Compose + Spring Boot + Nginx + Mysql 实践
我知道大家这段时间看了我写关于 docker 相关的几篇文章,不疼不痒的,仍然没有感受 docker 的便利,是的,我也是这样认为的,I know your felling . 前期了解概念什么的确实 ...
- 使用Docker Compose部署基于Sentinel的高可用Redis集群
大家一定非常熟悉如何利用Docker启动单个Redis容器用于开发环境,本文将介绍如何利用Docker Compose模板在本机和云端部署基于Sentinel的高可用Redis 3集群. Redis集 ...
- Docker(四):Docker 三剑客之 Docker Compose
前两篇文章我们介绍了 Dockerfile 的使用Docker(二):Dockerfile 使用介绍,我们知道使用一个 Dockerfile 模板文件可以定义一个单独的应用容器,如果需要定义多个容器就 ...
- Ubuntu Server 上使用Docker Compose 部署Nexus(图文教程)
场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...
最新文章
- 【错误记录】Java 中 ArrayList 排序 ( 使用 Comparator 接口时注意 compare 返回值是 -1 和 +1 )
- 零基础,最完整的WordPress建站教程
- debian安vs_debian下使用vs code
- Java字符串indexOf(int ch,int fromIndex)方法,带示例
- linux下测试权限,Linux下进程权限分析
- linux服务器 缓存,Linux服务器内存使用分析及内存缓存
- ReactNative组件导出
- php解析markdown前端渲染,Vuejs使用 vue-markdown 来渲染评论方法
- C# 编译的DLL文件在其他项目中调用时,看不见注释
- WPF/Silverlight深度解决方案:(四)基于像素的图像合成(For WPF)
- php把字体调大,phpDesigner 8调整字体大小的方法。
- 简单原生js代码实现下拉菜单
- 5G知识之5G技术指标、应用场景及相关技术(零星版)
- xfce-因为面板在 kiosk 模式下运行,所以不允许作为普通用户的您更改面板配置
- java freemarker word导出 文字加图片双重循环 (经历无数坑)
- 抖音可以传多长的视频?
- 运维工作发展的几个阶段
- 静态创意和动态创意_2020年创意工作的5个预测
- 【leetcode】 剑指 Offer学习计划(java版本含注释)(上)
- 图解Linux命令之--dmesg命令