7.docker compose的使用
在指定服务器启动一个容器,并执行ping docker.com。检查docker-compose.yml文件格式是否正确。删除web容器,删除前必需停止stop web容器服务。默认使用docker-compose.yml构建镜像。查看所有编排容器,包括已停止的容器。列出Compose文件构建的镜像。启动/暂停/重启所有编排容器服务。查看各个服务容器内运行的进程。查看web容器的实时日志。进入指定
·
1.安装
pip install docker-compose
2.docker-compose语法
veseion: "3.8"
services: '容器'
servicename1: '服务器名称'
image: '镜像名称'
command: '可选,默认覆盖镜像里的CMD命令'
environment: '可选,相当于docker run 里的-env'
volumes: '可选,相当于 docker run 里的 -v'
networks: '可选,相当于 docker run 里 --network'
ports: '#可选,相当于 docker run里的-p'
servicename2:
build:
context: '指定Dockerfile文件所在的目录'
docekerfile: 'Dockerfile文件名'
args:
参数名: 参数值
container_name: '默认将会使用 项目名称_服务名称_序号 这样的格式,注意::指定容器名称后,该服务将无法进行扩展(scale),因为Docker不允许多个容器具有相同的名称'
depends_on:
- servicename1
env_file: .env
environment:
RACK_ENV: development
expose:
- "3000"
- "8000"
network_mode: "bridge"
networks:
some-network:
ipam :
drive: default
config:
- sububet "'172.16.0.0.1/16'"
other-network:
ports:
- "3000"
volumes:
- /var/lib/mysql
restart: always
security_opt:
- seccomp:unconfined #指定容器模板标签(label)机制的默认属性(用户、角色、类型、级别等)
logging: #日志选项
driver: "json-file"
options:
max-size: "500m"
volumes: '可选 相当于docker volumes create'
networks: '可选 相当于 docker network create'
# HEALCHECK --interval=30s --timeout=3s CMD curl -f http://localhost:5000 || exit 1
healthcheck: # 容器的健康检查
test: ["CMD","curl","-f","http://localhost"]
interval: 1m30s
timeout: 10s
retries: 3
3.docker-compose命令
-
检查docker-compose.yml文件格式是否正确
$ docker-compose config -
默认使用docker-compose.yml构建镜像
$ docker-compose build --no-cache -f docker-compose1.yml -p project- –no-cache:不带缓存的构建
- -f 指定构建的文件
- -p 指定项目名称,默认将使用所在目录名称作为项目名
-
列出Compose文件构建的镜像
$ docker-compose images -
构建镜像
$ docker-compose bulid -
启动/暂停/重启所有编排容器服务
$ docker-compose up -d #启动所有编排容器服务 $ docker-compose down # 停止所有up命令启动的容器 $ docker-compose restart web # 重新启动停止服务的容器 -
在指定服务器启动一个容器,并执行ping docker.com
$ docker-compose run 容器名称 ping 服务名称 $ docker-compose run -d --name 名称 -e key=val -u user名 -
查看所有编排容器,包括已停止的容器
$ docker-compose ps -a -
进入指定容器执行命令
$ docker-compose exec nginx bash $ docker-compose exec web python manage.py migrate --noinput -
查看web容器的实时日志
$ docker-compose logs -f web -
暂停/恢复web容器
$ docker-compose pause web $ docker-compose unpause web -
删除web容器,删除前必需停止stop web容器服务
$ docker-compose rm web -
查看各个服务容器内运行的进程
$ docker-compose top -
拉取服务所依赖的镜像
$ docker-compose pull -
水平扩展 scale
$ docker-compose scale 容器1=3 容器2=2 #容器1启动3个,容器2启动2个
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)