使用Dockerfile创建镜像,创建容器并运行

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dongdong9223/article/details/83059265

转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/81032427
本文出自【我是干勾鱼的博客

Ingredient:

构建Docker镜像有以下两种方法:

  • 1:使用docker commit命令。
  • 2:使用docker build命令和 Dockerfile 文件。

一般情况下并不推荐使用“docker commit”来构建镜像,而应该使用更灵活、更强大的Dockerfile来构建Docker镜像,这里就来说一下使用Dockerfile创建镜像,创建容器并运行的方法。

1 生成镜像

1.1 准备Dockerfile文件

准备Dockerfile文件内容如下:

FROM ubuntu:18.10

#Ingrediten:
#       jdk-8u162-linux-x64.tar.gz

RUN buildDeps='gcc libc6 make ssh net-tools iputils-ping git curl telnet vim yum' \
        && apt-get update       \
        && apt-get install -y $buildDeps        \
        && mkdir -p /opt/java/

COPY ./jdk-8u162-linux-x64.tar.gz  /opt/java/

RUN cd /opt/java/       \
        && tar -zxvf jdk-8u162-linux-x64.tar.gz

ENV JAVA_HOME=/opt/java/jdk1.8.0_162
ENV PATH=$JAVA_HOME/bin:$PATH
ENV CLASSPATH=.:$JAVA_HOME/bin/dt.jar:$JAVA_HOME/lib/tools.jar

由于创建过程用到了java文件,这里要将注意这里要将java文件和Dockerfile文件放到同一个目录下:

Dockerfile
jdk-8u162-linux-x64.tar.gz

1.2 执行Docker命令创建镜像

可以参考docker build命令详解

在Dockerfile文件这个目录下执行命令:

docker build -t myubuntu:v1 .

命令介绍:

  • docker:docker命令。

  • build:编译。

  • -t:镜像的名字及tag,通常name:tag或者name格式;可以在一次构建中为一个镜像设置多个tag,参考docker build命令详解

  • myubuntu:生成镜像的名称。

  • v1:生成镜像的版本号。

  • .:点符号“.”表示的意思是,指定镜像构建过程中的上下文环境的目录,可以参考docker build 命令后 . 号的意思这篇文章。

1.3 查看生成的镜像

docker images

1.4 创建容器并运行

使用镜像“myubuntu:v8”以交互模式启动一个容器,将其命名为“myubuntu_test”,在容器内执行“/bin/bash”,而且绑定容器的 80 端口,并将其映射到本地主机 127.0.0.1 的 8111 端口上:

docker run -it -p 127.0.0.1:8111:80 --name myubuntu_test myubuntu:v8 /bin/bash

当然,也可以以后台模式启动一个容器:

docker run -p 127.0.0.1:8111:80 -d --name myubuntu_test myubuntu:v8

然后在登录到容器中:

docker run -it myubuntu_test /bin/bash

1.5 查看容器

查看运行中的容器:

docker ps

查看所有容器:

docker ps -a

2 参考

docker——Dockerfile创建镜像

Docker run 命令 - 菜鸟教程

docker build 命令后 . 号的意思

docker build命令详解

阅读更多

没有更多推荐了,返回首页