当前位置:首页 > 数码 > Compose入门-Docker与Docker-监禁运行部署的有限后劲

Compose入门-Docker与Docker-监禁运行部署的有限后劲

admin4周前 (04-22)数码13
Compose入门

今天给大家引见一项弱小而幽默的技艺,那就是经常使用和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 发现我的服务,而不是把地址写死在配置文件中,这句命令对应的服务配置为

免责声明:本文转载或采集自网络,版权归原作者所有。本网站刊发此文旨在传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及版权、内容等问题,请联系本网,我们将在第一时间删除。同时,本网站不对所刊发内容的准确性、真实性、完整性、及时性、原创性等进行保证,请读者仅作参考,并请自行核实相关内容。对于因使用或依赖本文内容所产生的任何直接或间接损失,本网站不承担任何责任。

标签: Docker

“Compose入门-Docker与Docker-监禁运行部署的有限后劲” 的相关文章

减少40%的构建时间-通过优化Docker构建流程 (减少50%)

减少40%的构建时间-通过优化Docker构建流程 (减少50%)

简介 在很多公司中,我们都为产品中使用的所有组件构建镜像。随着时间的推移,其中一些镜像变得越来越大,我们的 CI 构建耗时也越来越长。我的目标是让 CI 构建不超过 5 分钟——差不多是喝杯...

七个杀手级Docker命令 (找一本讲一个叫七个杀手的小说)

七个杀手级Docker命令 (找一本讲一个叫七个杀手的小说)

Docker 是一种容器平台,它使用操作系统级别的虚拟化技术来实现软件打包和容器化运行。凭借 Docker,开发人员可以将应用程序打包成容器,以便在任何 Docker 环境中轻松部署。 Do...

基于Docker镜像逆向生成Dockerfile (基于docker的毕业论文设计)

基于Docker镜像逆向生成Dockerfile (基于docker的毕业论文设计)

引言 你能否曾经遇到过一个想要经常使用的镜像,但却不可修正以顺应你的特定需求?或许你或许发现了一个青睐的Docker镜像,但想要了解它是如何构建的?在这两种状况下,将Docker镜像逆向生成...

打包应用程序代码和依赖项的机制-Docker容器 (qt如何打包应用程序)

打包应用程序代码和依赖项的机制-Docker容器 (qt如何打包应用程序)

概述 容器通过将应用程序的代码和所有依赖项打包到一个独立的软件包中,实现了应用程序的快速部署和移植。Docker容器是此类容器的一种流行实现,它使应用程序能够在不同的计算环境中一...

否-DBA视角-把数据库放入Docker-一个决定性的 (否昰什么意思)

否-DBA视角-把数据库放入Docker-一个决定性的 (否昰什么意思)

关于有形态的运行服务而言,容器是一个相当完美的开发运维处置打算。但是关于带耐久形态的服务——数据库来说,事件就没有那么繁难了。 消费环境 的数据库能否应当放入容器中,依然是一个充溢争...

如何更改Docker的自动存储位置 (如何更改抖音号)

如何更改Docker的自动存储位置 (如何更改抖音号)

假设在装置系统时选用了智能分区,根分区普通不会分太大,会自动分50G,麒麟v4大略是100G。如需调整目录,请在装置时设置。 修正的自动存储门路,普通用上方几种方法: 方法一: 修正...

Docker-技术比较-和传统虚拟机的主要区别 (docker logs)

Docker-技术比较-和传统虚拟机的主要区别 (docker logs)

服务器选购指南:ECS、VPS、容器傻傻分不清楚? 前言 情人节,程序员朋友收到了一台服务器,但他却只身一人度过。这样的经历不禁让人思考,作为一个程序员,如何挑选一台合适的服务器。对于云服务器领...