docker-compose 详解及示例代码
2016-10-30 10:44
2516 查看
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的使用示例详解
- Windows Forms 实现安全的多线程详解(附带程序代码示例)
- Java中的Drag and Drop详解与代码示例
- PCA 降维算法详解 以及代码示例
- XPath详解及Java示例代码
- 打log的方式检查程序里面的问题 及示例代码 详解
- [原创] Windows Forms 实现安全的多线程详解(附带程序代码示例)
- Hadoop RCFile存储格式详解(源码分析、代码示例)
- 详解异步式(Asynchronous)IO与同步式Synchronous)IO,NodeJS代码示例
- Linux input 子系统详解与代码示例
- jQuery中$.ajax$()方法的参数详解及示例代码
- Windows Forms 实现安全的多线程详解(附带程序代码示例) (摘自网络)
- JDK6.0新特性详解与代码示例
- Struts1.2+Spring1.2+HIbernate3.1整合示例代码详解(三)
- PCA 降维算法详解 以及代码示例
- JDK1.6.0新特性详解与代码示例
- Struts1.2+Spring1.2+HIbernate3.1整合示例代码详解(二)
- Java中的Drag and Drop详解与代码示例
- JDK1.6.0新特性详解与代码示例 - 徐明明的博客 - CSDNBlog
- Android进步之路二:进度对话框的示例代码以及详解