docker学习(7) 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
基本上看名字就知道意思了。
参考文章:

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
亲密接触Redis-第一天
引言 nosql,大规模分布式缓存遍天下,Internet的时代在中国由其走得前沿,这一切归功于我国特色的电商。因此nosql、大数据技术在中国应用的比国外还要前沿。从这一章开始我们将开始进入到真正的SOA、PAAS、SAAS、互联网的领域,因此每一篇我都会加入一小段业务的基础知识,让大家在学习技术的同时也可以了解一些业务,这边的业务不是指的business logic不是让大家去做业务人员,而是为大家带来IDEA,”没有做不到只有想不到“,阿里支付宝为什么发了。。。不是技术,而是它的IDEA。 业务基础知识-国内国外电商比较以及为什么电商技术在中国走得这么前沿 14年1月时在上海参加过一个MagentoCom召集的电商峰会。会上一群LAO WAI在那边大谈自己的电商经验,有LV,有ADIDAS,bla...bla...bla...听着听着,真是觉得好笑。休息时随便问一个LAO WAI一个问题: ”你们知道什么叫一元秒杀吗?“ ”你们知道什么7天无理由退货吗?“ ”你们知道什么叫0体验吗?“ ”你们有没有双11,双12,有没有交易量过亿。。。“ LAO WAI ”张嘴,流哈喇子,bil...
- 下一篇
docker学习(8) 在mac机上搭建私有仓库
docker的私有仓库类似maven的私服,一般用于公司内部搭建一个类似docker hub的环境,这样上传、下载镜像速度较快,本文将演示如何在mac上利用docker-machine搭建无需SSL证书的私有仓库。 一、查看docker-machine虚拟机IP docker-machine ip default 默认情况下docker-toolbox创建的虚拟机名称为default,如果您的虚拟机名字不是这个,上面命令最后的default换成真实的虚拟机名字,假设default分配的IP为192.168.99.100 二、修改虚拟机中的docker启动配置 由于docker最新版本默认访问私服时,强制采用SSL安全连接,但一般内部应用时不需要这么高的安全级别,参考下面的做法降低安全设置: docker-machine ssh default sudo vi /var/lib/boot2docker/profile 在profile文件最后加上: EXTRA_ARGS="--insecure-registry 192.168.99.100:5000" 然后exit退出default,...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS8编译安装MySQL8.0.19
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Mario游戏-低调大师作品
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS6,7,8上安装Nginx,支持https2.0的开启