GVKun编程网logo

将datax做成docker镜像(datax docker)

9

以上就是给各位分享将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)

将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镜像

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 | 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子命令。

  1. 使用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来查看。
  1. 使用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命令添 加的标签实际上起到了类似链接的作用。

  1. 使用inspect命令查看详细信息
    使用 docker [image] inspect 命令可以获取该镜像的详细信息,包括制作者、适 应 架构、各层的数字摘要等:

    在这里插入图片描述


      上面代码返回的是一个 JSON 格式的消息, 如果我们只要其中一项内容时, 可以使 用 -f 来指定, 例如, 获取镜像的Architecture:
docker [image] inspec七 -f { {" .Architecture"}} ubuntu:18.04 

在这里插入图片描述

  1. 使用 history 命令查看镜像历史
      既然镜像文件由多个层组成, 那么怎么知道各个层的内容具体是什么呢?这时候可以使 用 history 子命令, 该命令将列出各层的创建信息。 例如,查看 ubuntu: 18. 04 镜像的创建过程,可以使用如下命令:
docker history ubuntu: 18. 04

在这里插入图片描述


  注意,过长的命令被自动截断了, 可以使用前面提到的 --no-trunc选项来输出完整命令。

@范恒宾 发布了35 篇原创文章 · 获赞 4 · 访问量 1028 私信 关注

docker(六) 使用docker-maven-plugin插件构建docker镜像

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镜像(已过时)

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镜像(已过时)的相关知识,请在本站寻找。

本文标签: