docker-compose.yml

记录一下

version: '2.1'

services:

 mysql:

  image: name-mysqlc

  ports:

   - "3307:3306"

  volumes:

   - I:\data\name:/var/lib/mysql/name

  hostname: mysql

  mem_limit: 1000000000

  memswap_limit: 2000000000

  cpuset: 0,1

  command: /usr/bin/mysqld_safe

 

 tomcat:

  image: name-tomcatc-tp

  ports:

   - "8081:8080"

   - "8082:8082"

  volumes:

   - I:\namec:/tomcat/webapps

   - I:\name-config.xml:/name-config.xml

   - I:\name-License.xml:/name-License.xml

  hostname: tomcat

  command: tail -f /tomcat/conf/server.xml

 

 infobright:

  image: name-infobright

  ports:

   - "5029:5029"

  hostname: infobright

  command: tail -f anaconda-post.log

 

 gp:

  image: name-gp-ccpg

  ports:

    - "5433:5432"

    - "28081:28080"

    - "8090:80"

  hostname: gp

  command: tail -f  /home/gpadmin/all_segs

 

 mdw:

  image: name-gpnc

  hostname: mdw

  networks:

   gp_bridge:

    ipv4_address: 192.168.1.10

  extra_hosts:

   - "seg: 192.168.1.11"

  ports:

   - "5432:5432"

   - "28080:28080"

  volumes:

   - I:\start.sh:/home/gpadmin/startup.sh

   - I:\all_segs:/home/gpadmin/all_segs

   - I:\all_hosts:/home/gpadmin/all_hosts

  #command: /usr/sbin/sshd -D &&  /usr/sbin/ntpd -d

 

 seg:

  image: name-gpnc

  hostname: seg

  networks:

   gp_bridge:

    ipv4_address: 192.168.1.11

  extra_hosts:

   - "mdw: 192.168.1.10"

  #command: /usr/sbin/sshd -D &&  /usr/sbin/ntpd -d

 

networks:

 gp_bridge:

  driver: bridge

  ipam:

   driver: default

   config:

    - subnet: 192.168.1.0/24

      gateway: 192.168.1.1

version: '2.1'

services:

 mysql:

  image: name-mysqlc

  ports:

   - "3307:3306"

  volumes:

   - I:\data\name:/var/lib/mysql/name

  hostname: mysql

  mem_limit: 1000000000

  memswap_limit: 2000000000

  cpuset: 0,1

  command: /usr/bin/mysqld_safe

 

 tomcat:

  image: name-tomcatc-tp

  ports:

   - "8081:8080"

   - "8082:8082"

  volumes:

   - I:\namec:/tomcat/webapps

   - I:\name-config.xml:/name-config.xml

   - I:\name-License.xml:/name-License.xml

  hostname: tomcat

  command: tail -f /tomcat/conf/server.xml

 

 infobright:

  image: name-infobright

  ports:

   - "5029:5029"

  hostname: infobright

  command: tail -f anaconda-post.log

 

 gp:

  image: name-gp-ccpg

  ports:

    - "5433:5432"

    - "28081:28080"

    - "8090:80"

  hostname: gp

  command: tail -f  /home/gpadmin/all_segs

 

 mdw:

  image: name-gpnc

  hostname: mdw

  networks:

   gp_bridge:

    ipv4_address: 192.168.1.10

  extra_hosts:

   - "seg: 192.168.1.11"

  ports:

   - "5432:5432"

   - "28080:28080"

  volumes:

   - I:\start.sh:/home/gpadmin/startup.sh

   - I:\all_segs:/home/gpadmin/all_segs

   - I:\all_hosts:/home/gpadmin/all_hosts

  #command: /usr/sbin/sshd -D &&  /usr/sbin/ntpd -d

 

 seg:

  image: name-gpnc

  hostname: seg

  networks:

   gp_bridge:

    ipv4_address: 192.168.1.11

  extra_hosts:

   - "mdw: 192.168.1.10"

  #command: /usr/sbin/sshd -D &&  /usr/sbin/ntpd -d

 

networks:

 gp_bridge:

  driver: bridge

  ipam:

   driver: default

   config:

    - subnet: 192.168.1.0/24

      gateway: 192.168.1.1

其中主要用到的:
image:  就是你这个容器要使用的镜像

        image: name-mysqlc

ports:  你需要映射的端口

        ports:

                    - "3307:3306"

volumes: 需要挂载的文件

              volumes:

                    - I:\data\name:/var/lib/mysql/name

hostname: 主机名

        hostname: mysql

command:  就是容器启动时会执行的命令,但是只能执行一个command 并且是最后一个command命令。

        command: /usr/bin/mysqld_safe

networks :  services中的则是创建的网络

            gp_bridge:

                driver: bridge

                ipam:

                 driver: default

                 config:

                   - subnet: 192.168.1.0/24       网段

                    gateway: 192.168.1.1       网关

            容器里的则是该容器的一些信息

                 ipv4_address: 192.168.1.10    容器ip

extra_hosts : 相当于linux中/etc/hosts文件

             extra_hosts:

                - "seg: 192.168.1.11"

 

mem_limit:

memswap_limit  : 限制内存

cpuset   :  限制CPU

 

详细的可以查看https://docs.docker.com/compose/compose-file/#linklocalips

 

使用docker-compose命令 的时候,你所在的目录要是compose文件所在的目录下

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker Compose是一个工具,用于定义和运行多个 Docker 容器的配置文件,通常用于简化微服务应用的部署。它允许你使用简单的YAML格式来管理容器、网络和服务之间的依赖关系。下面是安装和使用 `docker-compose.yml` 的步骤: 1. **安装 Docker**:确保你已经安装了 Docker,因为 Docker Compose依赖于 Docker。你可以访问 Docker 官网 (<https://www.docker.com/products/docker-desktop>) 下载并安装适合你的操作系统的版本。 2. **安装 Docker Compose**:在安装 Docker 后,Docker Compose通常会自动包含在 `docker` 命令行工具中。如果你的 Docker Desktop 是在 Mac 或 Windows 上的,它应该已经预装了。如果你用的是 Linux,可以在终端运行 `sudo apt-get install docker-compose` (对于 Ubuntu) 或 `sudo yum install docker-compose` (对于 CentOS 或 Fedora)。 3. **验证安装**:打开终端或命令提示符,输入 `docker-compose --version`。如果一切正常,你应该能看到 Docker Compose 的版本信息。 4. **编写 `docker-compose.yml`**:这是一个 YAML 文件,描述了你的应用程序是如何由不同服务(如数据库、API等)组成的。例如: ```yaml version: '3' services: web: build: . ports: - "8000:8000" depends_on: - db db: image: postgres:latest ``` 5. **运行服务**:在 `docker-compose.yml` 文件所在的目录下,运行 `docker-compose up`。这将根据配置启动并链接所有服务。 6. **监控和管理**:你可以使用 `docker-compose down` 关闭所有服务,`docker-compose ps` 查看服务状态,`docker-compose logs` 查看日志等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值