docker-conpose 入门

docker-compose 安装

官方地址github

Linux 下安装

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

要安装其他版本的 Compose,请替换 1.29.1

将可执行权限应用给docker-compose

sudo chmod +x /usr/local/bin/docker-compose

创建软连接,在/usr/bin 下,这样可以直接访问到命令

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

查看版本,确定是否成功安装配置。

image

docker-compose 简介

Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。

也就是可以编排容器。

docker-compose 编排容器

首先我们准备了一个java程序,简单的helloworld

将其放在目录下,该目录还有docker-compose.yml 的配置文件,以及将jar包打包成镜像的Dockerfile,还有我们即将用到的nginx配置,这个配置是从另外一个nginx容器中导出的

# 将运行中的ng容器中的/etc/nginx/ 文件夹 拷贝至当前文件夹下的nginx/conf
docker cp ng:/etc/nginx/ ./nginx/conf 

image

我们先配置Dockerfile,比较简单

FROM java:8
VOLUME /tmpWORKDIR /project/demoADD ./demo-0.0.1-SNAPSHOT.jar ./app.jarENTRYPOINT ["java","-jar" ,"./app.jar"]

接着配置docker-compose.yml

version: '3'
# 服务---需要构建的容器
services:docker-demo:# 表示使用当前目录下的Dockerfile 进行构建镜像build: ./# 映射端口ports:- "9090:8080"nginx:# 使用nginx镜像image: nginx# 挂载 将我们当前目录的 ./nginx/conf/nginx 挂载到 容器中的 /etc/nginxvolumes:- ./nginx/conf/nginx:/etc/nginx# 链接  这样 在容器中就可以使用app进行于docker-demo这个容器通信 相当于ip映射links:- "docker-demo:app"# 映射端口ports:- "80:80"

然后我们使用下面命令构建镜像并启动容器

# 构建镜像并启动容器   -d 后台启动
docker-compose up -d# 查看日志
docker-compse logs 

nginx.conf

location /hello {# 需要使用app的内部端口proxy_pass http://app:8080;}

image

image

image

nginx 代理成功

image

image

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/547934.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

史上最全 yum 入门使用教程和常见错误解决办法

介绍 众所周知,Redhat和Fedora的软件安装命令是rpm。需要手动寻找安装该软件所需要的一系列依赖关系,yum的诞生很好解决了以上的问题,下面有几个实用的yum小技巧和大家分享。 rpm与yum常用命令集合 $ rpm -qa | grep jenkins …

【首创】完美解决scrollview与menu的兼容问题

经过一段时间的学习,才发现CH5里scrollview的例子很少,也没有相关的SAMPLE,于是乎,开始投入研究。大多数scrollview的例子只有在cocos2d-x里才用到,那么CH5里要用到滚动条怎么理呢?有人说用tableview&#…

lru调度算法例题_嵌入式必会!C语言最常用的贪心算法就这么被攻略了

01基本概念贪心算法是指在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,只做出在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的…

Oracle数据库版本维护支持结束时间表以及数据库版本发行时间表

Oracle数据库版本支持结束时间表以及数据库版本发行时间表 数据库版本支持时间表: 大版本(点击查看详情)当前补丁集下一补丁集标准服务结束日期扩展服务结束日期注释12.1.0.X无12.1.0.2––基版本为 12.1.0.1。11.2.0.X11.2.0.4无2015年1月2…

【虚拟化实战】存储设计之一存储类型

Problem Statement存储设计是虚拟化设计的重要部分之一,确定合适的存储类型是展开存储设计的关键一步。FC/FCoE, iSCSI, NFS 甚至 Local Storage, 你会选择哪一种呢?参见下图。Requirements客户需要移植物理服务器到VMware虚拟化平台,很多物…

ztree 指定节点清空_节点操作

一.节点操作​ 1.DOM节点操作​ ①创建节点​ 语法:document.createElement("标签名");​ 注:只单纯的创建出来了一个元素节点对象,不包含内容、属性和样式。​ ②插入节点​ 在父元素内部末尾追加​ 语法:父…

GC 基础

如何定位垃圾 1. 引用计数法 为对象添加一个引用计数器,当对象增加一个引用时计数器加 1,引用失效时计数器减 1。引用计数为 0 的对象可被回收。 在两个对象出现循环引用的情况下,此时引用计数器永远不为 0,导致无法对它们进行…

离线部署 CDH 6.2 及使用 CDH 部署 Hadoop3 大数据平台集群服务

Cloudera Manager Cloudera Manager 分为两个部分:CDH和CM。 CDH是Cloudera Distribution Hadoop的简称,顾名思义,就是cloudera公司发布的Hadoop版本,封装了Apache Hadoop,提供Hadoop所有的服务,包括HDFS…

resize属性,使textarea在ff(火狐)中禁止拉伸

HTML 标签 textarea 在大部分浏览器中只要指定行(rows)和列(cols)属性,就可以规定 textarea 的尺寸,大小就不会改变,不过更好的办法是使用 CSS 的 height 和 width 属性,但是Chrome,Safari和Fir…

多线程分段下载文件

原理 先获取文件大小,然后分段分配任务给线程下载 在开始多线程下载前得先得知下载文件的大小,如果在之前的流程中并没有告知文件大小则可以使用HTTP请求方法 HEAD,这个请求方法类似于 GET 请求,只不过返回的响应中没有具体的内…

玛酷机器人课程视频_建阳玛酷机器人丨2019WRO机器人比赛凯旋而归!

2019年7月福州WRO青少年机器人交流RA 7月27-28日,经过角逐, WRO华南赛区(福州站)在福州中加学校顺利落幕。 本次大赛设置了山火营救、无人速递、城市救援、RA常规赛、足球世界杯、WEDO常规项目、WEDO小手拼出大世界等七个单项比赛。 …

kindeditor图片批量上传失败问题

2019独角兽企业重金招聘Python工程师标准>>> 问题:在演示版中批量上传没有问题,放到我们后台系统中,就上传不成功。 排查:逐步验证发现根本没有http到upload上传文件中,往上找。。。终于碰到是后台管理员验…

presto集群安装

presto集群安装 整合hive 张映 发表于 2019-11-07 分类目录: hadoop/spark/scala 标签:hive, presto Presto是一个运行在多台服务器上的分布式系统。 完整安装包括一个coordinator(调度节点)和多个worker。 由客户端提交查询&…

wps 复制流程图_简单三步,用WPS轻松完成一个又大气又好看的流程图!

流程图是工作中经常需要用到的图形,使用 WPS 可以方便地创建流程图。创建的流程图保存在云文档后,可以随时插入 WPS 的其他组件。新建流程图文件流程图可以从 WPS 的其他组件中创建,如 WPS 文字、WPS 表格等,也可以单独创建。流程…

CAS实现原子操作的三大问题

在Java中可以通过锁和CAS的方式实现原子操作。 CAS实现原子操作的三大问题 1.ABA问题 CAS需要在操作值的时候,检测值有没有发生变化,如果没有发生变化则更新。 但是如果一个值原来是A,变成B,又变成A,那么使用CAS进行…

Tez 0.9安装部署+hive on tez配置 + Tez-UI

Tez说明 将xyz替换为您正在使用的tez发行版号。例如0.5.0。对于Tez版本0.8.3和更高版本,Tez需要Apache Hadoop版本为2.6.0或更高版本。对于Tez版本0.9.0及更高版本,Tez需要Apache Hadoop版本为2.7.0或更高版本。 关于版本 1.Hadoop 2.7.0(我…

iphone 字体

今天在网上找了下,iphone的UITextView字体类型的设置。现总结如下,如有误,欢迎指正。 [textView setFont:[UIFont fontWithName:"TrebuchetMS-Italic" size:18]];但是字体的类型名不好找,总结下有这么些类型&#xff1a…

启动成功浏览器显示不了_移动端利用chrome浏览器在PC端进行调试方法

由于最近工作中遇到需要在电脑上调试手机端的功能和样式,之前也没有遇到过,所以就各种百度和试验。最后终于功夫不负有心人,成功了。(那一刻心情真滴很鸡冻啊~~~~~~~~~)。所以暂时记录下来。以免鸡冻过度再给忘记了。好,接下来就是…

面向对象的相关面试题

1.面向对象的特征有哪些方面? 主要有封装,继承,多态,也可以加上个抽象. 封装 封装是保证软件部件具有优良的模块性的基础,封装的目标就是要实现软件部件的高内聚,低耦合,防止程序相互依赖性而带来的变动影响.在面对对象的编程语言中,对象是封装的最基本的单位,面向对象的封装比…

在maven本地仓库导入jar包

# Dfile jar包所在位置 DgroupId 指定groupId DartifactId 指定artifactId Dversion 指定版本 mvn install:install-file -DfileC:\Users\zlf\Desktop\mybatis-main\target\mybatis.jar -DgroupId"cn.bugstack.middleware" -DartifactIdmybatis -Dversion"1.0.…