Compose入门-Docker与Docker-监禁运行部署的有限后劲
![Compose入门](https://tyye.cn/zb_users/theme/tpure/style/images/lazyload.png)
今天给大家引见一项弱小而幽默的技艺,那就是经常使用和DockerCompose来监禁你的运行部署的威力!无论你是一名开发人员还是系统治理员,把握这个技艺都将为你的上班带来渺小的好处。
1.Docker一键装置
这里给大家分享我的Docker一键装置脚本,在大局部基于内核的系统中可以间接经常使用。
curl-fsSL|bash-sdocker--mirrorAliyunsudosystemctlenabledockersudosystemctlstartdockerdockerversionif[$?-eq0];thenecho"dockersuccessfulinstallation!"fi#参与国际镜像touch/etc/docker/daemon.jsonecho"{"registry-mirrors":["http://hub-mirror.c.163.com"]}">/etc/docker/daemon.jsonsudosystemctldaemon-reloadsudosystemctlrestartdocker
2.Docker语法
Docker的语法十分易懂,它经常使用繁复的命令和关键字来定义和治理容器。上方是一些罕用的Docker语法元素:
3.罕用Docker命令
上方是一些罕用的Docker命令,让咱们一同来了解一下:
以上只是一小局部罕用的命令,Docker提供了很多其余有用的命令和选项,让你可以更灵敏地治理容器和镜像。
4.经常使用Dockerfile自定义镜像
Dockerfile是一个文本文件,用来形容如何从一个基础镜像(例如ubuntu或alpine)构建出一个新的镜像,包括装置依赖、复制文件、设置环境变量、泄露端口等操作。经常使用Dockerfile可以让开发者明晰地记载运行程序的性能和依赖,以及保障运行程序在不同的环境中运转的分歧性。
一个繁难的Dockerfile文件示例如下:
#基于镜像构建FROMopenjdk:8u212-jre#性能参数ENVTZ=Asia/ShanghaiENVJAVA_OPTS="-Xms128m-Xmx256m-Dfile.encoding=UTF-8"#设置时区RUNln-sf/usr/share/zoneinfo/$TZ/etc/localtime&&echo$TZ>/etc/timezone#设置上班目录WORKDIR/app#复制jar包到镜像里COPYtarget/my-app.jar/app/my-app.jar#泄露端口EXPOSE8080#性能启动命令CMDjava$JAVA_OPTS-jar/app/my-app.jar--server.port=8080
繁难引见下上述Dockerfile示例的语法:
咱们要经常使用Dockerfile构建镜像的话,可以经常使用以下命令:
dockerbuild-tmy-app.
其中参数指定了镜像的称号和标签(默以为latest),示意以后目录寻觅Dockerfile文件。
要运转构建好的镜像,可以经常使用以下命令:
dockerrun-p8080:8080my-app
其中参数指定了容器内外部的端口映射相关,是镜像的称号。
这样咱们的Java服务就可以在容器里运转,并能够经过宿主机的8080端口访问了。
5.DockerCompose一键装置
这里给大家继续分享我的
DockerCompose
一键装置脚本,大家可以间接经常使用。
sudocurl-L"https://.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname-s)-$(uname-m)"-o/usr/local/bin/docker-composesudochmod+x/usr/local/bin/docker-composedocker-compose--version//Thefollowingappears,yourdocker-composeisinstallationsuccess.
在国际网络中或许遇到
docker-compose
文件下载失败、超时,大家可间接上行本地曾经下载好的
docker-compose
文件,也可以私聊我失掉最新
docker-compose
文件。
6.经常使用DockerCompose简化运行部署
除了Docker命令,咱们还可以经常使用
DockerCompose
来简化多个容器的治理和部署。
在实践开发中,一个运行程序通常不是独自运转的,而是须要与其余服务(例如数据库、缓存、信息队列等)启动交互。这些服务也可以经常使用Docker来运转,但是假设每个服务都须要独自经常使用命令来启动,那么就会十分繁琐和容易出错。为了处置这个疑问,可以经常使用
docker-compose
来定义和运转多个容器之间的依赖和单干相关。
docker-compose
是一个工具,可以让开发者经常使用一个YAML文件(通常命名为
docker-compose.yml
)来形容多个容器之间的性能,包括镜像、端口、环境变量、挂载卷、网络等。经常使用
docker-compose
可以让开发者一次性性地启动或中止一切相关的容器,以及繁难地治理容器之间的通讯。
一个繁难的
docker-compose.yml
示例如下:
version:'3'services:waynboot-mobile-api:image:ibm-semeru-runtimes:open-17-jdkcontainer_name:mobilevolumes:-/etc/localtime:/etc/localtime-/home/logs:/home/logs-/opt/waynboot-mall/upload:/opt/waynboot-mall/upload-./jars/waynboot-mobile-api.jar:/home/app/waynboot-mobile-api.jarrestart:alwayscommand:java-Xms512m-Xmx512m-Duser.timezone=GMT+8-Dfile.encoding=utf-8-jar/home/app/waynboot-mobile-api.jarports:-"82:82"environment:-TZ=Asia/Shanghai-LOG_PATH_PREFIX=/home/logs-UPLOAD_DIR=/opt/waynboot-mall/uploadwork_mode:"host"#依赖于和,在启动本服务之前会先启动依赖的服务depends_on:-redis-mysql-rabbitmq-elasticsearch
当编写DockerCompose文件时,以下是更具体的语法和性能选项解释:
须要留意的是,在编写DockerCompose文件时,缩进和格局十分关键。经常使用正确的缩进,并确保语法正确能力成功构建和启动服务。
7.罕用的DockerCompose命令
当经常使用DockerCompose来治理容器化运行程序时,上方是一些罕用的DockerCompose命令,让咱们一同来了解一下:
$docker-composeup-d
$docker-composedown
$docker-composestop[options][SERVICE...]
$docker-composeps
$docker-composebuild
$docker-composelogs-f
这是一些罕用的DockerCompose命令,可以协助你治理和操作容器化的运行程序。同时DockerCompose还提供了其余命令和选项,如重启服务、裁减服务、检查性能等,可以依据需求启动经常使用。
8.总结
在本文中,咱们了解了Docker的基本语法和一些罕用命令。Docker的繁复、灵敏和高效使得它成为部署运行的首选工具。而经过DockerCompose,咱们可以进一步简化和组织多个容器的治理,成功更高水平的部署。
无论是开发新的运行还是迁徙现有的运行,Docker和DockerCompose将成为你的得力助手。开局探求Docker的有限或许吧,监禁你的运行部署的威力!
docker与docker-compose介绍,对比与使用
docker是一个供开发和运维人员开发,测试,部署和运行应用的容器平台。 这种用linux container部署应用的方式叫容器化。 compose是一个用于运行和管理多个容器化应用的工具。 我们可以列出下列几项来进行二者对比: 是自动化构建镜像,并启动镜像。 docker compose是自动化编排容器。 2. docker是基于Dockerfile得到images,启动的时候是一个单独的container 3. docker-compose是基于,通常启动的时候是一个服务,这个服务通常由多个container共同组成,并且端口,配置等由docker-compose定义好。 4.两者都需要安装,但是要使用docker-compose,必须已经安装docker接下来,我们来安装docker ce,docker-compose,然后根据官网的关于docker-compose一个简单的例子来进一步理解 安装docker ce:安装docker-compose:或者获取安装脚本进行安装(仅限于centos7 or rhel7)docker-compose例子官网URL:文件目录 从我们可以看到,这个python应用包含两个部分,一个部分是web service, 一个是redis service,我们用‘docker-compose up’ 去build images or pull images, create containers和run这些containers。 最终,我们看到这个service在运行。 其背后有4个images, 2个containers.而通过docke-compose则可以直接操作这整个service。
[Docker] docker-compose使用教程
[Docker] 入门教程我们从 logo 上可以看出来, 说白了, 这个东西就是一个管理容器的工(zhang)具(yu), 我们可以方便的使用它来管理我们的 docker 容器, 可以极大程度的简化命令行的复杂操作. 如果你是 Mac 或 Windows 用户使用桌面版本的 Docker 应用默认就会替你安装 docker-compose (下文中用dc代替), 如果是 centos 的话可以使用命令 yum -y install docker-compose 太简单了不做过多说明. 查看版本,能显示出来证明安装成功了 接下来我们有需求了, 运行一个 service-a 挂载到 /usr/local , 映射端口为 8082 并添加 servicehost 域名映射内网 ip ,很多人可以想到那应该是一条冗长 docker 命令 这么一大坨,看起来十分不方便,那么我们就是用 docker-compose 来优化一下 首先创建一个名为 的文件 之后随便是用一个文本编辑器打开,写入下面内容 这样看起来是不是思路清晰多了呢,我们接下来运行一下-d 后台运行,否则运行log就会出现在你的屏幕上。 。 。 然后查看一下运行状态 我们可以看到服务已经运行起来了,我们试着访问一下成功,这一部分告一段落。 有的人会问,多个服务怎么运行呢?很简单,我们这里就来做一下。 下面我要做的是开启三个服务 service-a ,service-b ,service-eureka ,分别是一个注册中心和两个服务。 我们来完善一下 我们来运行一下 注册中心 访问service-a 访问service-b 到这里我们已经可以运行起来多个服务了!!!!下课 - - 我们可以看到 docker-compose 会自动识别容器的开启状态,替我们开启需要开启的那一个 1.可能很多人对我的 echo 192.168.1.126 servicehost >> /etc/hosts 不是很理解 这里说一下,这句命令的意思是,把 servicehost 域名加入到 hosts 文件,目的是为了能让我的 eureka 发现我的服务,而不是把地址写死在配置文件中,这句命令对应的服务配置为
免责声明:本文转载或采集自网络,版权归原作者所有。本网站刊发此文旨在传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及版权、内容等问题,请联系本网,我们将在第一时间删除。同时,本网站不对所刊发内容的准确性、真实性、完整性、及时性、原创性等进行保证,请读者仅作参考,并请自行核实相关内容。对于因使用或依赖本文内容所产生的任何直接或间接损失,本网站不承担任何责任。