docker-compose基础(一)
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,docker-compose是一个用于定义和运行多容器Docker应用程序的工具。使用Compose,可以使用YAML文件来配置应用程序的服务。然后,使用单个命令,可以从配置中创建并启动所有服务。do
千家信息网最后更新 2025年01月23日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-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 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 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个实例
容器
命令
服务
运行
镜像
存储
配置
单位
变量
名称
应用程序
标签
环境
程序
应用
文件
网络
输出
信号
后台
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
物联网网络技术是什么
服务器的并发
万方数据库技术移民
华为数据库查询
steam电脑连不上服务器
数据库审计技术的发展前景
网络安全大型作业实验报告
凝聚互联网科技
北京大学软件开发专业好
新片下载软件开发
专科女生计算机网络技术好就业吗
服务器交换机路由器的区别
编程和软件开发哪个前景好
徐州app软件开发一般多少钱
徐州运营软件开发供应商
在数据库a查数据库b的数据
自动化专业学软件开发
计算机网络技术的职业意识
广东红帽杯网络安全
网络安全工程师都会什么
华为软件开发工程师硕士待遇
ifix abc 数据库
长春一三科技互联网
云服务器可以做什么
初中生能学网络安全工程师吗
岳阳软件开发培训价格
咨询软件开发者怎么样咨询
闽南互联网络科技
首都网络安全日什么机构批准设立
网吧网络安全技术措施