Dockerfile创建全新镜像
Dockerfile创建全新镜像
使用docker build
,从0开始构建一个新的镜像。如下面步骤基于centos7的基础镜像创建全新的镜像。
- 编写Dockerfile文件
# 基础的镜像,从DockerHub网站进行搜索
FROM centos:centos7
MAINTAINER Charley "[email protected]"
# RUN表示在容器内执行的命令
RUN /bin/echo 'root:123456' |chpasswd
RUN useradd charley
RUN /bin/echo 'charley:123456' |chpasswd
RUN /bin/echo -e "LANG=\"zh-CN.UTF-8\"" >/etc/default/local
EXPOSE 22
EXPOSE 80
CMD /usr/sbin/sshd -D
- 在Dockerfile文件同级目录运行
docker build
命令,进行构建
$ docker build -t charley/centos:centos7 .
[+] Building 152.8s (10/10) FINISHED docker:default
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 306B 0.0s
=> [internal] load metadata for docker.io/library/centos:centos7 96.9s
=> [auth] library/centos:pull token for registry-1.docker.io 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [1/5] FROM docker.io/library/centos:centos7@sha256:be65f488b7764ad3638f236b7b515b3678369a5124c47b8d32916d6487418ea4 50.5s
=> => resolve docker.io/library/centos:centos7@sha256:be65f488b7764ad3638f236b7b515b3678369a5124c47b8d32916d6487418ea4 0.0s
=> => sha256:eeb6ee3f44bd0b5103bb561b4c16bcb82328cfe5809ab675bb17ab3a16c517c9 2.75kB / 2.75kB 0.0s
=> => sha256:2d473b07cdd5f0912cd6f1a703352c82b512407db6b05b43f2553732b55df3bc 76.10MB / 76.10MB 36.7s
=> => sha256:be65f488b7764ad3638f236b7b515b3678369a5124c47b8d32916d6487418ea4 1.20kB / 1.20kB 0.0s
=> => sha256:dead07b4d8ed7e29e98de0f4504d87e8880d4347859d839686a31da35a3b532f 529B / 529B 0.0s
=> => extracting sha256:2d473b07cdd5f0912cd6f1a703352c82b512407db6b05b43f2553732b55df3bc 12.6s
=> [2/5] RUN /BIN/ECHO 'root:123456' |chpasswd 1.7s
=> [3/5] RUN USERADD charley 1.5s
=> [4/5] RUN /BIN/ECHO 'charley:123456' |chpasswd 0.8s
=> [5/5] RUN /BIN/ECHO -e "LANG="zh-CN.UTF-8"" >/etc/default/local 1.0s
=> exporting to image 0.2s
=> => exporting layers 0.2s
=> => writing image sha256:1ce28aeb6c159baf225ef336968a04b033c7f1f90e988cc74e56eaf50ac8f2e0 0.0s
=> => naming to docker.io/charley/centos:centos7 0.0s
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
charley/centos centos7 1ce28aeb6c15 8 minutes ago 204MB
charley/ubuntu v1 f2135bec3c53 16 hours ago 125MB
test/ubuntu v1 05443cf468db 20 hours ago 0B
ubuntu latest e34e831650c1 2 weeks ago 77.9MB
ubuntu 20.04 f78909c2b360 6 weeks ago 72.8MB
hello-world latest d2c94e258dcb 9 months ago 13.3kB
- 参数说明
-t
:指定要创建的目标镜像名.
:Dockerfile文件所在的目录。
- 利用新的镜像创建容器
$ docker run -it 1ce28aeb6c15 charley/centos:centos7 /bin/bash