- 新建Dockerfile文件,文件名可以自定义,比方:dockerfile_ubuntu
- 编辑dockerfile_ubuntu:
# 指定基础镜像
FROM ubuntu
# 镜像维护者/作者
MAINTAINER mengwei
# 环境变量
ENV MYPATH /usr/local
# 工作路径,容器创建后,终端默认进入的工作目录,或者理解为落脚点
WORKDIR $MYPATH
# 构成镜像时,执行的命令
# 从Dockerfile到images的过程中会执行的命令
RUN apt-get update
RUN apt-get install -y vim
RUN apt-get install -y net-tools
RUN apt-get install -y iputils-ping
# 将宿主机的文件复制到镜像中
ADD asdf.txt /usr/local/
# 暴露端口
EXPOSE 80
# 指定容器在启动后要进行的操作
CMD /bin/bash
- 通过Dockerfile构建自己的镜像:
docker build -f dockerfile_ubuntu -t ubuntu003:4.0 .
- 查看镜像:
docker images -a
- 查看镜像构建历史:
docker history ubuntu003:4.0
这里需要把版本号加上,要不然会报错:
Error response from daemon: No such image: ubuntu003:latest
- 通过此镜像构建一个新的容器:
docker run -it -d --name ubuntu004 ubuntu003:4.0
- 查看容器:
root@VM-4-13-ubuntu:/OASIS/temp# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c1703e408464 ubuntu003:4.0 "/bin/sh -c /bin/bash" 4 seconds ago Up 4 seconds 80/tcp ubuntu004
- 进入容器:
root@VM-4-13-ubuntu:/OASIS/temp# docker exec -it ubuntu004 /bin/bash
root@c1703e408464:/usr/local# ll
total 44
drwxr-xr-x 1 root root 4096 Jul 18 02:26 ./
drwxr-xr-x 1 root root 4096 Jun 24 02:02 ../
-rw-r--r-- 1 root root 0 Jun 27 09:55 asdf.txt
drwxr-xr-x 2 root root 4096 Jun 24 02:02 bin/
drwxr-xr-x 2 root root 4096 Jun 24 02:02 etc/
drwxr-xr-x 2 root root 4096 Jun 24 02:02 games/
drwxr-xr-x 2 root root 4096 Jun 24 02:02 include/
drwxr-xr-x 2 root root 4096 Jun 24 02:02 lib/
lrwxrwxrwx 1 root root 9 Jun 24 02:02 man -> share/man/
drwxr-xr-x 2 root root 4096 Jun 24 02:05 sbin/
drwxr-xr-x 3 root root 4096 Jun 24 02:02 share/
drwxr-xr-x 2 root root 4096 Jun 24 02:02 src/