Docker系列教程21-Docker Compose快速入门
原文:http://www.itmuch.com/docker/21-docker-compose-quick-start/,转载请注明出处。
本节我们来探讨Compose使用的基本步骤,并编写一个简单示例快速入门。
基本步骤
使用Compose大致有三个步骤:
- 使用Dockerfile(或其他方式)定义应用程序环境,以便在任何地方重现该环境。
- 在docker-compose.yml文件中定义组成应用程序的服务,以便各个服务在一个隔离的环境中一起运行。
- 运行docker-compose up命令,启动并运行整个应用程序。
入门示例
下面笔者以之前课上用到的Eureka为例讲解Compose的基本步骤。
-
在
microservice-discovery-eureka-0.0.1-SNAPSHOT.jar
所在路径(默认是项目的target目录)创建Dockerfile文件,并在其中添加如下内容。FROM java:8 VOLUME /tmp ADD microservice-discovery-eureka-0.0.1-SNAPSHOT.jar app.jar RUN bash -c 'touch /app.jar' EXPOSE 9000 ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
-
在
microservice-discovery-eureka-0.0.1-SNAPSHOT.jar
所在路径创建文件docker-compose.yml,在其中添加如下内容。version: '2' # 表示该docker-compose.yml文件使用的是Version 2 file format services: eureka: # 指定服务名称 build: . # 指定Dockerfile所在路径 ports: - "8761:8761" # 指定端口映射,类似docker run的-p选项,注意使用字符串形式
-
在
docker-compose.yml
所在路径执行以下命令。docker-compose up
Compose就会自动构建镜像并使用镜像启动容器。我们也可使用
docker-compose up -d
后台启动并运行这些容器。 访问:
http://宿主机IP:8761/
,即可访问Eureka Server首页。
工程、服务、容器
Docker Compose将所管理的容器分为三层,分别是工程(project),服务(service)以及容器(container)。Docker Compose运行目录下的所有文件(docker-compose.yml, extends文件或环境变量文件等)组成一个工程(默认为docker-compose.yml所在目录的目录名称)。一个工程可包含多个服务;每个服务中定义了容器运行的镜像、参数和依赖,一个服务可包括多个容器实例。
对应《入门示例》一节,工程名称是docker-compose.yml所在的目录名。该工程包含了1个服务,服务名称是eureka;执行docker-compose up时,启动了eureka服务的1个容器实例。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Python---Requests库的爬取性能分析
“任意”找个url,测试一下成功爬取100次网页的时间。(某些网站对于连续爬取页面将采取屏蔽IP的策略,所以,要避开这类网站。) import requests import time def getHtmlText(url): try: # try except:用于异常处理 r = requests.get(url, timeout=30) # get到网站 timeout=30:如果get时间超过30s,则停止等待响应 r.raise_for_status() # 检测是否连接成功 r.encoding = r.apparent_encoding return r.text except: return '运行异常' if __name__ == "__main__": # Python 模拟的程序入口 url = 'https://www.baidu.com' totaltime = 0 for i in range(100): starttime = time.perf_counter() getHtmlText(url) endtime = time.perf_counte...
- 下一篇
Python是真的强,监控完终端与服务器还能追踪数据库与web服务器
为什么要监控? 监控和日志的区别 监控项目 开源监控项目 托管监控服务 监控学习清单
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8编译安装MySQL8.0.19
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Docker安装Oracle12C,快速搭建Oracle学习环境