docker-compose简介
2018-12-03 09:20
260 查看
文章目录
docker-compose.yml用于描述docker容器之间的依赖关系
可以一键对多个服务进行启停操作
HelloWorld
编写docker-compose
- docker-compose.yml
# 当前docker-compose版本 version: '3' # 定义微服务 services: server1: container_name: server1 # 镜像名 image: server1:latest # 镜像启动过程中需要的命令 command: - "--msg=123456" # 设置server1所依赖的镜像 links: - server2:host2 ports: - 8080:8081 server2: container_name: server2 image: server2:latest # 设置server2所依赖的镜像 links: - server3:host3 server3: container_name: server3 image: server3:latest
启动
- 执行
docker-compose up -d
ok,一切正常,只要镜像生成了,我们就可以使用
docker-compose一键启动所有的容器
停止
docker-compose down
pig项目示例
# 启动微服务所需的最少依赖 version: '3' services: # 数据库 mysql: container_name: pig-compose-mysql image: registry.cn-hangzhou.aliyuncs.com/sherry/mysql:5.7 environment: MYSQL_ROOT_PASSWORD: 123456 command: [ 'mysqld', '--innodb-buffer-pool-size=20M', '--character-set-server=utf8', '--collation-server=utf8_general_ci', '--default-time-zone=+8:00', '--lower-case-table-names=1' ] volumes: - /Users/zhangliuning/Volumes/mysql/data:/var/lib/mysql restart: always ports: - 3306:3306 # Redis redis: container_name: pig-compose-redis image: registry.cn-hangzhou.aliyuncs.com/sherry/redis:3.2.9 ports: - 6379:6379 # RabbitMQ rabbitmq: container_name: pig-compose-rabbitmq image: registry.cn-hangzhou.aliyuncs.com/sherry/rabbitmq:3.7-management hostname: rabbitmqhost environment: RABBITMQ_DEFAULT_USER: pig RABBITMQ_DEFAULT_PASS: pig volumes: - /Users/zhangliuning/Volumes/rabbitmq:/var/rabbitmq/lib ports: - 15672:15672 - 5672:5672 pig-eureka: build: context: ./ dockerfile: Dockerfile-eureka container_name: pig-eureka image: sherry/pig-eureka:latest restart: always ports: - 1025:1025 pig-auth: build: context: ./ dockerfile: Dockerfile-auth container_name: pig-auth image: sherry/pig-auth:latest links: - pig-eureka:eureka - redis:redishost - rabbitmq:mqhost - mysql:mysqlhost restart: always ports: - 3000:3000 pig-upms-service: build: context: ./ dockerfile: Dockerfile-upms container_name: pig-upms-service image: sherry/pig-upms-service:latest links: - redis:redishost - rabbitmq:mqhost - pig-eureka:eureka - mysql:mysqlhost restart: always pig-gateway: build: context: ./ dockerfile: Dockerfile-gateway container_name: pig-gateway image: sherry/pig-gateway:latest links: - redis:redishost - rabbitmq:mqhost - pig-eureka:eureka - pig-auth:authhost restart: always ports: - 9999:9999
参数传递
version: '3' services: reg-center1: build: context: ./ dockerfile: Dockerfile container_name: reg-center1 environment: - active=prod - hostaddr=10.0.0.6 - server1=10.0.0.6 - server2=10.0.0.6 - server1port=10002 - server2port=10003 - serverport=10001 - ydeurekausername=yiding - ydeurekapassword=yiding image: sherry/reg-center:latest restart: always ports: - 10001:10001
FROM registry.cn-hangzhou.aliyuncs.com/sherry/java:1.8.0_111 VOLUME /tmp ADD reg-center.jar app.jar RUN sh -c 'touch /app.jar' RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime RUN echo 'Asia/Shanghai' > /etc/timezone ENV JAVA_OPTS="" ENTRYPOINT [ "sh", "-c", "java -Xms256m -Xmx256m $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar --spring.profiles.active=$active --host-addr=$hostaddr --server1=$server1 --server2=$server2 --server1.port=$server1port --server2.port=$server2port --server.port=$serverport --yd.eureka.username=$ydeurekausername --yd.eureka.password=$ydeurekapassword"]
示例项目
在Gitee上编写了一个项目,实现了以下功能
1、Dockerfile
2、docker-compose.yml
3、docker-compose传递参数给Dockerfile
4、Feign、Eureka跨主机调用
https://gitee.com/dingyi_zhidianfan/yd/tree/V0.0.1
reg-center是注册中心
yiding内是一个生产者和消费者项目,用于演示Feign的服务调用
相关文章推荐
- Docker Compose简介
- Docker系列教程19-Docker Compose简介
- Docker 编排利器-Compose简介
- Docker-Compose简介安装使用
- Docker学习笔记 — Compose简介、安装与简单使用
- Docker的镜像简介
- docker技术剖析--docker supervisor、compose
- Docker Compose搭建mysql主从复制
- ubuntu docker及docker-compose安装
- 利用yum安装docker-compose
- CentOS7 下安装docker和docker-compose
- Docker Compose Networking
- Docker EE/Docker CE简介与版本规划
- Docker Compose入门示例
- docker--supervisor、compose.pdf
- Docker 容器编排利器Compose(起步篇)
- Docker学习笔记4: Docker-Compose—简化复杂容器应用的利器
- docker入门之简介
- Docker技术swarm+compose部署服务