Docker Compose一键管理容器

这篇具有很好参考价值的文章主要介绍了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-net
  
  mysql-102:
    image: mysql:5.7
    ports:
      - "3309:3306"
    volumes:
      - mysql02-log:/var/log/mysql
      - mysql02-data:/var/lib/mysql
      - mysql02-conf:/etc/mysql/conf.d
      - /etc/localtime:/etc/localtime:ro
    environment:
      - MYSQL_ROOT_PASSWORD=root
    restart: always
	container_name:mysql-02
    networks:
      - mall-net
  
  nginx:
    image: nginx
    ports:
      - "80:80"
    volumes:
      - nginx-conf:/etc/nginx
      - nginx-html:/usr/share/nginx/html
      - /etc/localtime:/etc/localtime:ro
    restart: always
    networks:
      - mall-net
      
#指明上面所用到的数据卷
volumes:
  mysql01-log:
  mysql01-data:
  mysql01-conf:
  mysql02-log:
  mysql02-data:
  mysql02-conf:
  nginx-conf:
  nginx-html:


#网络
networks:
  mall-net:
    ipam:
      driver: default
      config:
        - subnet: "188.188.0.0/16"

数据卷

通过数据卷和容器的文件进行挂载映射,而且是由docker管理创建的,不像使用绝对路径那样,还要我们自己去创建。

命令

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

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

docker-compose -f compose.yaml up -d:指定compose配置文件,后台创建并启动compose配置文件里面所有容器。

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/

docker rm -f 容器id:强制删除某个容器,如果想要完全删除干净某个容器,还得删除对应的数据卷。然后再docker-compose up 重新启动。文章来源地址https://www.toymoban.com/news/detail-675577.html

到了这里,关于Docker Compose一键管理容器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【运维知识大神篇】运维人必学的Docker教程1(Docker安装部署+Docker镜像管理+容器管理常用命令+搭建docker的本地yum源+windows系统安装docker环境)

    本篇文章开始给大家介绍Docker,这个是我非常喜欢的一个服务,介绍给大家,希望大家也能喜欢! 目录 何为容器 Docker环境安装部署 一、yum安装(CentOS7.9) 二、rpm包安装(CentOS) 三、卸载docker环境 四、安装指定的docker版本 五、Ubuntu安装docker环境 六、使用deb安装docker 七、

    2024年01月18日
    浏览(110)
  • Docker高效管理指南:一键清理、停止与删除所有容器和镜像

    在当今Java开发的日常工作中,Docker已经成为一项不可或缺的技术。它不仅提供了便捷的开发和部署方式,还为项目的可移植性和可伸缩性带来了新的可能性。我们熟悉了一些基本的Docker命令,如启动、关闭、删除容器以及删除镜像,以提高开发效率。然而,随着技术的不断发

    2024年02月02日
    浏览(41)
  • 【运维知识大神篇】运维人必学的Docker教程6(Docker-Compose使用详解+Linux特性管理+macvlan技术+consul实现大规模跨主机通信overlay+私有仓库harbor)

    本篇文章继续给大家介绍Docker的有关内容,包括docker启动特权容器及利用特权修改内核参数,Attach和Exec区别,Docker-compose使用详解,Linux特性管理,macvlan技术实现docker跨主机通信,使用consul工具实现大规模跨主机通信overlay(基于vxlan实现),Docker相关参数说明,测试使用的

    2024年02月20日
    浏览(49)
  • 如何在CentOS搭建docker compose ui可视化工具并无公网IP远程管理容器

    💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老 导航 檀越剑指大厂系列:全面总

    2024年03月22日
    浏览(55)
  • 一键卸载docker、docker-compose

    1、创建卸载文件: docker-uninstall.sh   docker-uninstall.sh 2、vim  docker-uninstall.sh,输入以下内容 # 卸载旧版本的Docker yum remove docker                   docker-client                   docker-client-latest                   docker-common                   docker-latest          

    2024年02月03日
    浏览(49)
  • linux 一键安装docker docker-compose

    2024年02月16日
    浏览(51)
  • 一键安装和卸载docker及docker-compose

    代码: 其中往docker.service写systemd管理的内容也可以替换成如下内容: 运行结果:

    2024年02月12日
    浏览(46)
  • 【Docker】(七)使用docker-compose一键部署环境

    本系列文章记录了从0开始学习Docker的过程,Docker系列历史文章: (一)基本概念与安装使用 (二)如何使用Docker发布一个SpringBoot服务 (三)使用registry远程镜像仓库管理镜像 (四)使用volume持久化Docker容器中的Redis数据 (五)使用bind mounts修改Docker容器中的Nginx配置 (六)

    2024年02月08日
    浏览(43)
  • 【Docker & Docker-compose 离线一键安装部署】

    说明:docker的运行基于linux内核。(仅支持linux系统上运行) 下载docker 和 docker-compose 离线安装包 docker安装包下载地址:https://download.docker.com/linux/static/stable/x86_64/ docker-compose 安装包下载地址:https://github.com/docker/compose/releases graph : docker文件存在地址。可自行修改 1 . 将上述准

    2024年02月06日
    浏览(65)
  • docker compose一键部署lnmt环境

    创建docker compose 目录 [root@localhost ~]#  mkdir -p /compose_lnmt 编写nginx的dockerfile文件 创建目录 [root@localhost compose_lnmt]# mkdir -p nginx [root@localhost nginx]# vim nginx.conf   [root@localhost nginx]# vim Dockerfile 创建数据存放目录 [root@localhost compose_lnmt]# mkdir -p /var/www/html/ [root@localhost compose_lnmt]# mkdir

    2024年02月14日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包