美文网首页
Docker初体验(二)- 创建docker镜像

Docker初体验(二)- 创建docker镜像

作者: 大路无疆 | 来源:发表于2017-04-20 00:47 被阅读0次

上一篇中解释了Docker与虚拟机的不同,以及使用它的好处--一次创建到处运行。那么这一篇就介绍怎么创建一个可以在各处运行的Docker镜像。创建Docker有不同的方式,一种是基于基础镜像创建容器,在容器中做相关配置,安装运行应用需要的包,然后提交新的镜像, 这种方式适合配置复杂的镜像;另外一种是使用Dockerfile,自动化的生成镜像,这种方式适用于需要自动化的场景。

手工配置镜像

在最近的小项目中,我们要创建一个Jenkins的Docker镜像,它负责编译打包工程,安装AWS CLI, 打包应用的Docker镜像,所以需要安装很多的组件。接下来我们来一步一步配置我们的Docker镜像。

首先,我们从DockerHub上找到一个基础镜像,我们运行命令来创建进行配置的基础容器:

docker run -d  -p 18080:8080  -v ${PWD}/jenkins_home:/var/jenkins_home jenkins

登陆容器,并执行安装操作:

docker exec -it --user jenkins containerId bash

查看容器的相关配置信息:

docker inspect containerId

装好相关应用后将配置的容器提交到本地镜像:

docker commit containerId lane0201/jenkins:latest

也可以添加环境变量,开放新的接口和卷,例如

docker commit --change "ENV DEBUG true"  --change  "VOLUME /tmp" -c "EXPOSE 8080" containerId  lane0201/jenkins:version1

提交本地镜像到远程仓库,之后就可以根据新的镜像创建容器了:

docker push lane0201/jenkins:latest

相关命令的具体配置参考官方的docker文档

使用Dockerfile生成镜像

docker build命令根据指定的Dockerfile文件生成镜像, 例如:

docker build -f /path/to/a/Dockerfile .

一个简单的Dockerfile是这样的:

FROM frolvlad/alpine-oraclejdk8:slim

VOLUME /tmp

ENV MYSQL_HOST 127.0.0.1

ENV MYSQL_PORT 3306

ENV MYSQL_USER myUser

ENV MYSQL_DATABASE myDatabase

ADD 17high_web-0.0.1-SNAPSHOT.jar app.jar

RUN sh -c 'touch /app.jar'

ENV JAVA_OPTS=""

ENTRYPOINT [ "sh", "-c", "sleep 15 && java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]

关于Dockerfile的具体配置可以参考docker build文档

相关文章

  • Ubuntu下的Docker安装

    一、Docker的系统架构 二、名词解释 Docker 镜像(Images)Docker 镜像是用于创建 Dock...

  • Docker初体验(二)- 创建docker镜像

    上一篇中解释了Docker与虚拟机的不同,以及使用它的好处--一次创建到处运行。那么这一篇就介绍怎么创建一个可以在...

  • docker相关概念理解

    Docker 镜像(Images):Docker 镜像是用于创建 Docker 容器的模板。 Docker 容器(...

  • Docker入门

    目录 一、Docker介绍二、安装Docker三、镜像管理四、通过容器创建镜像五、通过模板创建镜像六、容器管理七、...

  • 在Docker中安装node

    一、拉取node镜像 查询镜像docker search node 拉取docker pull node 二、创建...

  • linux安装最新版docker

    文章目录 一、安装docker二、安装Docker镜像加速站三、下载docker镜像(以centos为例),创建c...

  • Docker基础操作

    一.创建镜像docker image 挂载软件目录到docker镜像下 docker run -i -t -v /...

  • docker搭建wordpress

    一、安装docker-compose包 二、导入wordpress镜像 三、创建docker-compose文件 ...

  • Docker基础原理理解

    Docker核心概念 镜像 Docker镜像(Image)就是一个只读的模板。镜像可以用来创建 Docker 容器...

  • Docker+Jenkins持续集成搭建

    docker search jenkins可以搜索docker官方仓库的镜像然后从docker仓库中下载镜像 创建...

网友评论

      本文标题:Docker初体验(二)- 创建docker镜像

      本文链接:https://www.haomeiwen.com/subject/qdawattx.html