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

Docker Compose一键管理容器

可以一键批量管理docker的容器。将所有需要创建的容器定义在compose配置文件中,通过一个命令一键可以创建并运行这些容器,而不需要一个一个启动。可以批量启动停止服务。

安装

#安装Docker-Compose并安装到/usr/local/bin/docker-compose
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose#给/usr/local/bin/docker-compose授权
chmod +x /usr/local/bin/docker-compose

配置文件

Docker Compose 使用 YAML 文件来定义多服务的应用。YAML 是 JSON 的一个子集,因此也可以使用JSON。

Docker Compose 默认使用文件名 docker-compose.yml。当然,也可以使用 -f 参数指定具体文件。

#版本有1 2 3
version:'3'
#定义服务,就是定义要启动的容器
services:#容器服务名mysql-101:#容器镜像image: mysql:5.7#端口,容器的3306映射到宿主机的3308端口ports:- "3308:3306"#数据卷,mysql01-conf数据卷会和容器内部的/etc/mysql/conf.d挂载。volumes:- mysql01-log:/var/log/mysql- mysql01-data:/var/lib/mysql- mysql01-conf:/etc/mysql/conf.d- /etc/localtime:/etc/localtime:ro#环境设置,这里设置mysql的root密码environment:- MYSQL_ROOT_PASSWORD=root#容器重启策略:当容器出现故障或退出时会自动重启。手动不会。restart: always#容器名称container_name:mysql-01#使用的网络networks:- mall-netmysql-102:image: mysql:5.7ports:- "3309:3306"volumes:- mysql02-log:/var/log/mysql- mysql02-data:/var/lib/mysql- mysql02-conf:/etc/mysql/conf.d- /etc/localtime:/etc/localtime:roenvironment:- MYSQL_ROOT_PASSWORD=rootrestart: alwayscontainer_name:mysql-02networks:- mall-netnginx:image: nginxports:- "80:80"volumes:- nginx-conf:/etc/nginx- nginx-html:/usr/share/nginx/html- /etc/localtime:/etc/localtime:rorestart: alwaysnetworks:- mall-net#指明上面所用到的数据卷
volumes:mysql01-log:mysql01-data:mysql01-conf:mysql02-log:mysql02-data:mysql02-conf:nginx-conf:nginx-html:#网络
networks:mall-net:ipam:driver: defaultconfig:- subnet: "188.188.0.0/16"

命令

docker-compose up: 创建并启动容器

docker-compose up -d:后台运行容器,不会看到很多输出信息

docker-compose restart 服务名:重启容器,服务名是容器对应的服务名,在yaml文件的services的第一行

docker-compose down [选项] :停止在 docker-compose up 运行启动的容器,并删除配置文件中定义的网络或默认网络

选项:1)--rmi type 删除镜像,类型必须是:'all': 删除任何服务使用的所有镜像。'local': 只删除没有由“image”字段设置的自定义标签2)-v, --volumes 删除卷3)--remove-orphans 删除Compose文件中未定义的服务。4)-t,——timeout timeout指定以秒为单位的关机超时时间。(默认值:10)

docker volume ls:查看docker创建的数据卷

docker volume inspect 数据卷名称:查看数据卷的具体信息,包括所在实际路径。docker存放卷的位置一般为:/var/lib/docker/volumes/

http://www.lryc.cn/news/136493.html

相关文章:

  • API接口文档利器:Swagger 和 接口调试利器:Postman
  • Redis手动实现分布式锁-Demo
  • BBS项目day04 文章详情页、点赞点菜、评论功能(根评论和子评论)、评论分页之刷新评论页面
  • 【带着学Pytorch】1、pytorch的安装与入门
  • smartbi token回调获取登录凭证漏洞
  • SQL注入之堆叠查询
  • java-JVM 类加载机制
  • 前端面试:【网络协议与性能优化】提升Web应用性能的策略
  • 前端面试:【React】构建现代Web的利器
  • 使用mysql:5.6和 owncloud 镜像,构建一个个人网盘。
  • k8s发布应用
  • 微信小程序教学系列(4)
  • Netty核心源码解析(三)--NioEventLoop
  • Vue2学习笔记のVue核心
  • 把matlab的m文件打包成单独的可执行文件
  • redis 6个节点(3主3从),始终一个节点不能启动
  • 单体架构 Monolithic Architecture
  • HCIP的STP总结
  • Post Robot
  • HTML中,常用的布局方式
  • uboot源码结构
  • c++(8.23)类,this指针,构造函数,析构函数,拷贝构造函数
  • 前端网络相关知识(TCP和UDP的区别, TCP的三次握手)
  • 大数据-玩转数据-Flink营销对账
  • 中英双语对话大语言模型:ChatGLM-6B
  • MES生产报工管理
  • 五、修改官方FreeRTOS例程(STM32F1)
  • pytorch基础实践-数据与预处理
  • Java智慧工地系统源码(微服务+Java+Springcloud+Vue+MySQL)
  • PV3D: A 3D GENERATIVE MODEL FOR PORTRAITVIDEO GENERATION 【2023 ICLR】