docker-compose 详解及示例代码

 更新时间:2016年10月30日 10:44:36   投稿:lqh  
这篇文章主要介绍了docker-compose 详解的相关资料,并附简单实例,需要的朋友可以参考下

docker-compose使用示例

利用docker搭建一个mysql + java service + nginx,总共4个docker容器,如果采用docker run的方式一个一个容器去创建十分麻烦。为了能更高效的批量创建容器,docker推出了docker-compose工具,只需要定义一个docker-compose.yml文件即可快速搞定一组容器的创建,

mysql:
 image: daocloud.io/yjmyzz/mysql-osx:latest
 volumes:
   - ./mysql/db:/var/lib/mysql
 ports:
   - 3306:3306
 environment:
   - MYSQL_ROOT_PASSWORD=123456
 
service1:
 image: java:latest
 volumes:
   - ./java:/opt/app
 expose:
   - 8080
 #ports:
 #  - 9081:8080
 links:
   - mysql:default
 command: java -jar /opt/app/spring-boot-rest-framework-1.0.0.jar
 
service2:
 image: java:latest
 volumes:
   - ./java:/opt/app
 expose:
   - 8080
 #ports:
 #  - 9082:8080
 links:
   - mysql:default
 command: java -jar /opt/app/spring-boot-rest-framework-1.0.0.jar
 
nginx1:
  image: nginx:latest
  volumes:
   - ./nginx/html:/usr/share/nginx/html:ro
   - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
   - ./nginx/conf.d:/etc/nginx/conf.d:ro
  #expose:
  #  - 80
  ports:
   - "80:80"
  links:
   - service1:service1
   - service2:service2

内容不复杂,具体的关键字说明见本文最后的参考文章链接。

问题:这个文件放在哪里?

参见下面的目录结构:

mysql-java-nginx
├── docker-compose.yml
├── java
│  └── spring-boot-rest-framework-1.0.0.jar
├── mysql
│  └── db
└── nginx
  ├── conf
  ├── conf.d
  │  └── default.conf
  ├── html
  │  └── index.html
  └── nginx.conf
 

创建容器:

cd mysql-java-nginx
docker-compose up

就是这么简单,一个up就搞定了所有容器的创建,up通常用于首次创建,可以观察终端实时输出的日志内容判断容器是否启动正常,如果没什么问题,直接Ctrl+C退出,然后

docker-compose start

以后台方式启动容器。  

其它命令还有:

Commands:
 build       Build or rebuild services
 help        Get help on a command
 kill        Kill containers
 logs        View output from containers
 pause       Pause services
 port        Print the public port for a port binding
 ps         List containers
 pull        Pulls service images
 restart      Restart services
 rm         Remove stopped containers
 run        Run a one-off command
 scale       Set number of containers for a service
 start       Start services
 stop        Stop services
 unpause      Unpause services
 up         Create and start containers
 migrate-to-labels Recreate containers to add labels
 version      Show the Docker-Compose version information

基本上看名字就知道意思了。  

参考文章:

https://docs.docker.com/compose/compose-file/

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • docker-compose部署mysql全过程

    docker-compose部署mysql全过程

    这篇文章主要介绍了docker-compose部署mysql全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2016-06-06
  • Dockerfile中 CMD和ENTRYPOINT的区别小结

    Dockerfile中 CMD和ENTRYPOINT的区别小结

    本文主要介绍了Dockerfile中 CMD和ENTRYPOINT的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-09-09
  • 详解Docker cpu限制分析

    详解Docker cpu限制分析

    本篇文章主要介绍了Docker cpu限制分析,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • Docker环境搭建、阿里云镜像加速、常用命令使用及说明

    Docker环境搭建、阿里云镜像加速、常用命令使用及说明

    文章介绍了Docker的基本架构,包括容器、镜像和仓库的关系,详细说明了在CentOS系统下Docker的安装步骤,并讲解了如何配置阿里云镜像加速及常用的Docker命令操作
    2025-10-10
  • Docker学习之常用的基础命令总结

    Docker学习之常用的基础命令总结

    这篇文章给大家整理了一些Docker常用的基础命令,对大家日常使用Docker还是很有帮助,通过这些命令可以有效的提高大家的工作效率,有需要的朋友们下面来一起看看吧。
    2016-10-10
  • Docker search命令的使用方法

    Docker search命令的使用方法

    本文主要介绍了Docker search命令的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • Docker 隔离与限制原理介绍

    Docker 隔离与限制原理介绍

    这篇文章主要介绍了Docker 隔离与限制原理,对于 Docker 等大多数 Linux 容器来说,Cgroups 技术是用来制造约束的主要手段,而 Namespace 技术则是用来修改进程视图的主要方法,下文相关介绍,需要的朋友可以参考一下
    2022-04-04
  • Docker中redis安装及测试教程

    Docker中redis安装及测试教程

    这篇文章主要介绍了Docker中redis安装及测试教程的一些基础方法和知识,为后续安装部署redis集群做准备,需要的朋友可以参考下
    2022-11-11
  • Docker常用命令Study03详解

    Docker常用命令Study03详解

    这篇文章主要介绍了Docker常用命令Study03详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • Docker启动常用容器命令及配置详解

    Docker启动常用容器命令及配置详解

    本文主要介绍了Docker启动常用容器命令及配置详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03

最新评论