以上就是给各位分享将datax做成docker镜像,其中也会对dataxdocker进行解释,同时本文还将给你拓展10.vue打包成docker镜像、Docker|docker实战(三):使用Dock
以上就是给各位分享将datax做成docker镜像,其中也会对datax docker进行解释,同时本文还将给你拓展10.vue打包成docker镜像、Docker | docker实战(三):使用Docker镜像(读书笔记)、docker(六) 使用docker-maven-plugin插件构建docker镜像、docker(六) 使用docker-maven-plugin插件构建docker镜像(已过时)等相关知识,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:- 将datax做成docker镜像(datax docker)
- 10.vue打包成docker镜像
- Docker | docker实战(三):使用Docker镜像(读书笔记)
- docker(六) 使用docker-maven-plugin插件构建docker镜像
- docker(六) 使用docker-maven-plugin插件构建docker镜像(已过时)
将datax做成docker镜像(datax docker)
# 1. 拉取python环境镜像到本地
docker pull centos/python-27-centos7
# 2.上传jdk和datax到环境到本地环境中
[datax_docker]# ls
datax.tar.gz Dockerfile jdk.tar.gz
# 3. 编写相应的Dockerfile
FROM centos/python-27-centos7
#安装jdk
ADD jdk.tar.gz /opt/local
ENV JAVA_HOME /opt/local/jdk1.8
ENV PATH $JAVA_HOME/bin:$PATH
# 添加并解压datax文件到/opt/local 目录
ADD datax.tar.gz /opt/local/
# 设置运行的工作目录,可不添加,运行中使用 docker -w 指定
WORKDIR /opt/local/datax
ENTRYPOINT ["bash"]
# 4. 通过docker build生成镜像
docker build -t="datax" .
# 5. 通过该镜像生成容器
docker run -t -i --name datax datax
# 6. 检查python环境,进入容器内部
[docker_datax]# python
Python 2.7.5 (default, Oct 30 2018, 23:45:53)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
# 7. 检查java环境,进入容器内部
java -verson
10.vue打包成docker镜像
10.vue打包成docker镜像
视屏地址:
1.使用nginx+vue打包好的静态页面
2.使用node+vue直接跑起来
nginx+静态页面
192.168.9.233/library/nginx:1.12 是我的私有库,可以使用公有的库
# vue打包
npm run build
# 打包好, 记住测试一下能否能用
# 测试完毕, 可以使用
# docker根据dockerfile打包成镜像,具体逻辑看dockerfile,命令使用是指定标签-t,指定目录. , .是当前目录
docker build -t demo-vue:latest .
# 查看所有镜像
docker image ls -a
# 使用docker 跑起来,达到刚刚用idea跑起来的效果
node+vue
基础镜像是 node 指定版本是v10.16.2
太久了
emm…为什么端口会变.
是我自己指定了8085
把dockerfile改一下, 然后宿主主机映射一下
资料
把一个 Node.js web 应用程序给 Docker 化 | Node.js
Dockerfile里指定执行命令用ENTRYPOING和用CMD有何不同? - SegmentFault 思否
Docker(三):Dockerfile 命令详解 - 纯洁的微笑 - 博客园
本文同步分享在 博客"suveng"(CSDN)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
Docker | docker实战(三):使用Docker镜像(读书笔记)
第三章 使用Docker镜像
3.1 获取镜像
镜像是运行容器的前提, 官方的 Docker Hub 网站已经提供了数十万个镜像供大家开放下载。 本节主要介绍 pecker镜像的pull子命令。
可以使用 docker [image] pull 命令直接从 Docker Hub 镜像源来下载镜像。 该命令的格式为
docker [image] pull NAME [ :TAG] 。
其中,NAME是镜像仓库名称(用来区分镜像),TAG是镜像的标签(往往用来表示版本信息)。 通常情况下,描述一个镜像需要包括 “名称+标签“ 信息。
例如, 获取一个Ubuntu 18.04 系统的基础镜像可以使用如下的命令:
docker pull ubuntu: 18.04.18.04: Pulling from library/ubuntu Digest:sha256:e27e9d7f7f28d67aa9e2d7540bdc2b33254b452ee8e60f388875e5b7d9b2b696
Status: Downloaded newer image for ubuntu:18.04
对于Docker镜像来说, 如果不显式指定TAG, 则默认会选择la迳釭标签,这会下载 仓库中最新版本的镜像。
下面的例子将从DcoekrHub 的Ubuntu仓库 下载一个最新版本的Ubuntu操作系统的镜像:
该命令实际上下载的就是 ubuntu:latest镜像。
下载过程中可以看出 ,镜像文件一般由若干层(layer)组成 ,6c953ac5d795这样的 串是层的唯一id(实际上完整的id包括256比特,64个十六进制字符组成)。使用docker pull命令下载中会获取并输出镜像的各层信息。当不同的镜像包括相同的层时,本地仅存 储了层的 一份内容,减小了存储空间。
读者可能会想到,在不同的镜像仓库服务器的情况下,可能会出现镜像重名的情况。
严格地讲,镜像的仓库名称中还应该添加仓库地址(即registry, 注册服务器)作为前缀,只是默认使用的是官方dockerhub服务 ,该前缀可以忽略。
例如,docker pull ubuntu:18.04命令相当千docker pull registry.hub. docker.com/ubuntu:18.04命令,即从默认的注册服务器DcoekrHub Registry中的 ubuntu 仓库来下载标记为18.04的镜像。
如果从非官方 的仓库下载,则 需要在仓库 名称前指定完整的仓库地址。例如从网易蜂巢 的镜像源来下载ubuntu:18.04镜像,可以使用如下命令,此时下载的镜像名称 为hub. c.163.com/public/ubuntu:18.04:
docker pull hub.c.163.com/public/ubuntu:18.04
pull 子命令支持的选项主要包括:
-a, --all士ags=trueifalse:是否获取仓库中的所有镜像,默认为否; --disable-con七ent-trus七:取消镜像的内容校验,默认为真。
另外,有 时需要使用镜像代理服务来加速Docker镜像获取 过程 ,可以在Docker服务 启动配置中增加 --registry-mirror=proxy_URL来指定镜像代理服务地址(如https:// registry.docker-en.com)
下载镜像到本地后, 即可随时使用该镜像了, 例如利用该镜像创建一个容器,在其中运 行bash应用, 执行打印 "Hello World"命令:
docker run -it ubuntu:18.04 bash
3.2 查看镜像信息
本节主要介绍Docker镜像的ls、tag和inspect子命令。
- 使用images命令列出镜像
docker images
在列出信息中, 可以看到几个字段信息:
来自于哪个仓库, 比如ubuntu表示ubuntu 系列的基础镜像;
SIZE 79.6MB 79.6MB镜像的标签信息, 比如 18.04、 latest表示不同的版本信息。 标签只是标记, 并不能标识镜像内容; 镜像的ID(唯一标识镜像),如果两个镜像的ID相同,说明它们实际上指向了同一 个镜像, 只是具有不同标签名称而已; 创建时间,说明镜像最后的更新时间; 镜像大小,优秀的镜像往往体积都较小。
其中镜像的ID信息十分重要, 它唯一标识了镜像。在使用镜像ID的时候, 一般可以使 用该ID的前若干个字符组成的可区分串来替代完整的ID。
TAG 信息用于标记来自同一个仓库的不同镜像。 例如ubuntu 仓库中有多个镜像, 通过 TAG 信息来区分发行版本, 如18.04、 18.10 等。
镜像大小信息只是表示了该镜像的逻辑体积大小, 实际上由于相同的镜像层本地只会存 储一份, 物理上占用的存储空间会小于各镜像逻辑体积之和。
images子命令主要支持如下选项
-a, --all =true I false: 列出所有(包括临时文件)镜像文件,默认为否; --digests=true | false: 列出镜像的数字摘要值,默认为否; -f, --filter=[] : 过滤列出的镜像,如dangling 式rue 只显示没有被使用的镜像;也可指定带有特定标注的镜像等; --format=“TEMPLATE” : 控制输出格式,如. ID代表ID信息,.Repository 代表仓库信息等; --no-trunc=true | false: 对输出结果中太长的部分是否进行截断,如镜像的ID 信息,默认为是; -q, --quiet=true | false: 仅输出ID信息, 默认为否。
其中, 还支持对输出结果进行控制的选项,如 -f. --fil七er=[)、–no七rune= 七rueI false、 -q、 --quie七式rueI false等。
更多子命令选项还可以通过mandocker-images来查看。
- 使用tag命令添加镜像标签
为了方便在后续工作中使用特定镜像,还可以使用docker tag命令来为本地镜像任 意添加新的标签。 例如,添加一个新的myubuntu: latest镜像标签:
docker tag ubuntu:latest myubuntu:latest
再次使用docker images列出本地主机上镜像信息, 可以看到多了一个myubun口: lates七标签的镜像:
之后,用户就可以直接使用myubuntu:la七es七来表示这个镜像了。
细心的读者可能注意到, 这些myubuntu:latest镜像的ID跟ubunt:latest是 完全一致的,它们实际上指向了同一个镜像文件,只是别名不同而巳。docker tag命令添 加的标签实际上起到了类似链接的作用。
- 使用inspect命令查看详细信息
使用 docker [image] inspect 命令可以获取该镜像的详细信息,包括制作者、适 应 架构、各层的数字摘要等:
上面代码返回的是一个 JSON 格式的消息, 如果我们只要其中一项内容时, 可以使 用 -f 来指定, 例如, 获取镜像的Architecture:
docker [image] inspec七 -f { {" .Architecture"}} ubuntu:18.04
- 使用 history 命令查看镜像历史
既然镜像文件由多个层组成, 那么怎么知道各个层的内容具体是什么呢?这时候可以使 用 history 子命令, 该命令将列出各层的创建信息。 例如,查看 ubuntu: 18. 04 镜像的创建过程,可以使用如下命令:
docker history ubuntu: 18. 04
注意,过长的命令被自动截断了, 可以使用前面提到的 --no-trunc选项来输出完整命令。
docker(六) 使用docker-maven-plugin插件构建docker镜像
目录
- 一、 使用docker-maven-plugin构建镜像
- 二、使用
- 三、绑定Docker 命令到 Maven 各个阶段
可以参考博客:https://blog.csdn.net/aixiaoyang168/article/details/77453974
docker-maven-plugin官网推荐在新项目中使用dockerfile-maven来构建镜像。
docker-maven-plugin的Github地址:https://github.com/spotify/docker-maven-plugin
dockerfile-maven的Github地址:https://github.com/spotify/dockerfile-maven
一、 使用docker-maven-plugin构建镜像
docker-maven-plugin有两种使用方式,一种是使用Dockerfile文件,一种是不使用Dockerfile文件。
1.在 POM中指定构建信息(不使用Dockerfile文件)
在pom.xml中引入该插件
<!-- docker-maven-plugin插件(不带Dockerfile文件) --> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.4.13</version> <configuration> <!--用于指定镜像名称--> <imageName>${project.name}:${project.version}</imageName> <!--用于指定基础镜像,相当于Dockerfile中的FROM指令--> <baseImage>java</baseImage> <!--相当于Dockerfile的ENTRYPOINT指令--> <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint> <!--是否跳过docker build--> <skipDockerBuild>true</skipDockerBuild> <resources> <resource> <targetPath>/</targetPath> <!--用于指定需要复制的根目录,${project.build.directory}表示target目录--> <directory>${project.build.directory}</directory> <!--用于指定需要复制的文件。${project.build.finalName}.jar指的是打包后的jar包文件。--> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin>
默认情况下,该插件通过访问localhost:2375来连接本地docker,可以通过设置DOCKER_HOST 环境变量来连接docker.
DOCKER_HOST=tcp://<host>:2375
2.使用Dockerfile文件
如果使用Dockerfile文件,必须指定dockerDirectory元素,那么 baseImage, maintainer, cmd and entryPoint这些元素也会被忽略。dockerDirectory元素所指定的内容将被复制到${project.build.directory}/docker下,resources元素则会复制除此之外的其它文件,例如项目jar文件。
<!--docker-maven-plugin插件(带Dockerfile文件)--> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.4.13</version> <configuration> <imageName>${project.name}:${project.version}</imageName> <!--Dockerfile文件位置--> <dockerDirectory>docker</dockerDirectory> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin>
二、使用
创建镜像
mvn clean package docker:build
推送镜像到Registry
mvn clean package docker:build -DpushImage
推送指定tag的镜像到Registry
mvn clean package docker:build -DpushImageTag回到顶部
三、绑定Docker 命令到 Maven 各个阶段
docker(六) 使用docker-maven-plugin插件构建docker镜像(已过时)
可以参考博客:https://blog.csdn.net/aixiaoyang168/article/details/77453974
docker-maven-plugin官网推荐在新项目中使用dockerfile-maven来构建镜像。
docker-maven-plugin的Github地址:https://github.com/spotify/docker-maven-plugin
dockerfile-maven的Github地址:https://github.com/spotify/dockerfile-maven
一、 使用docker-maven-plugin构建镜像
docker-maven-plugin有两种使用方式,一种是使用Dockerfile文件,一种是不使用Dockerfile文件。
1.在 POM中指定构建信息(不使用Dockerfile文件)
在pom.xml中引入该插件
<!-- docker-maven-plugin插件(不带Dockerfile文件) -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version>
<configuration>
<!--用于指定镜像名称-->
<imageName>${project.name}:${project.version}</imageName>
<!--用于指定基础镜像,相当于Dockerfile中的FROM指令-->
<baseImage>java</baseImage>
<!--相当于Dockerfile的ENTRYPOINT指令-->
<entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>
<!--是否跳过docker build-->
<skipDockerBuild>true</skipDockerBuild>
<resources>
<resource>
<targetPath>/</targetPath>
<!--用于指定需要复制的根目录,${project.build.directory}表示target目录-->
<directory>${project.build.directory}</directory>
<!--用于指定需要复制的文件。${project.build.finalName}.jar指的是打包后的jar包文件。-->
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
默认情况下,该插件通过访问localhost:2375来连接本地docker,可以通过设置DOCKER_HOST 环境变量来连接docker.
DOCKER_HOST=tcp://<host>:2375
2.使用Dockerfile文件
如果使用Dockerfile文件,必须指定dockerDirectory元素,那么 baseImage, maintainer, cmd and entryPoint这些元素也会被忽略。dockerDirectory元素所指定的内容将被复制到${project.build.directory}/docker下,resources元素则会复制除此之外的其它文件,例如项目jar文件。
<!--docker-maven-plugin插件(带Dockerfile文件)-->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version>
<configuration>
<imageName>${project.name}:${project.version}</imageName>
<!--Dockerfile文件位置-->
<dockerDirectory>docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
二、使用
创建镜像
mvn clean package docker:build
推送镜像到Registry
mvn clean package docker:build -DpushImage
推送指定tag的镜像到Registry
mvn clean package docker:build -DpushImageTag
三、绑定Docker 命令到 Maven 各个阶段
关于将datax做成docker镜像和datax docker的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于10.vue打包成docker镜像、Docker | docker实战(三):使用Docker镜像(读书笔记)、docker(六) 使用docker-maven-plugin插件构建docker镜像、docker(六) 使用docker-maven-plugin插件构建docker镜像(已过时)的相关知识,请在本站寻找。
本文标签: