Docker 入门 7 构建镜像

前言

优点:

  • 保存对容器的修改,并再次使用
  • 自定义镜像
  • 以软件形式打包并分发服务及其运行环境

命令总结:

  • 通过容器构建

    docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
  • 通过 Dockerfile 文件构建

    docker build

通过容器构建

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
  • -a :默认 --author="" ,用来指定镜像的作者,通常填写作者名和联系方式。
  • -m :用来记录镜像构建的信息,
  • -p :由于容器构建时,会暂停运行中的容器,该参数可以不暂停正在运行的容器。

示例

# 通过容器构建镜像
$ docker commit -a "yogile" -m "commit test" commit_t yogile/commit_t
sha256:8429b31f250ee3e6ac4f9cef2e209e5e5b0f186bfbe0eb70359886560ccd6e7e

# 查看镜像
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
yogile/commit_t     latest              8429b31f250e        23 seconds ago      209MB

这时,我们就构建了一个镜像,可以根据这个镜像运行容器了。

使用 Dockerfile 文件构建

这种方法实际上是编写类似于脚本的文件并执行它,再根据命令一步步形成一个想要得到的容器。

创建 Dockerfile 文件

创建存放 Dockerfile 目录

mkdir -p dockerfile/df_test1

创建 Dockerfile 文件

vim dockerfile/df_test1/Dockerfile

这里 Dockerfile 文件的命名必须为 Dockerfile ,否则报错:

unable to prepare context: unable to evaluate symlinks in Dockerfile path: lstat /home/debiana/dockerfile/df_test1/Dockerfile: no such file or directory

示例

# Dockerfile
# 选择镜像的所需 Repository 仓库
FROM ubuntu:18.04
# 填写维护人员信息
MAINTAINER "Yogile" "[email protected]"
# 执行 apt-get update 命令
RUN apt-get update
# 执行下载安装 nginx 命令
RUN apt-get install nginx -y
# 绑定端口 80
EXPOSE 80

使用 docker build 构建镜像

docker build [OPTIONS] PATH | URL | -
  • -t :--tag="" ,指定构建的镜像名字
  • PATH :指定 Dockerfile 文件的路径

示例

docker build -t ubuntu_yyy dockerfile/df_test1

猜你喜欢

转载自www.cnblogs.com/Yogile/p/12513856.html