docker创建自定义镜像
基本流程
创建自定义镜像,首先应该在文件夹中创建Dockerfile文件,并编写类似如下的内容:
FROM nginx:1.16.0
ENV TZ=Asia/Shanghai
WORKDIR /root
COPY ./ /root
RUN apt-get update && apt-get install -y git
EXPOSE 80
ENTRYPOINT ["/bin/bash", "/root/docker/start.sh"]
在文件夹中运行如下命令来生成镜像:
# my-image:1.0是镜像名和版本
docker build -t my-image:1.0 .
命令最后的“.”代表当前文件夹
基础命令
Dockerfile通过From命令来声明公共镜像的引用:
# 该命令表明,我们依托于nginx的1.16.0版本构建自定义的镜像
FROM nginx:1.16.0
Dockerfile还提供了一些环境相关的命令:
# 环境变量
ENV TZ=Asia/Shanghai
# 工作目录(进入容器后,默认进入的便是该目录)
WORKDIR /root
# 对外暴露80端口
EXPOSE 80
需要往镜像里添加文件时,可以使用:ADD、COPY
# 该命令会把当前文件夹下的所有文件,复制到镜像的/root目录下
COPY ./ /root
ADD还可以使用远程url添加文件,而文件如果是压缩文件会自动解压;如果不希望压缩文件自动解压,请使用COPY
需要执行命令构建镜像时,可以使用:RUN
RUN apt-get update && apt-get install -y git
需要设置容器启动命令时,可以使用:CMD、ENTRYPOINT
ENTRYPOINT ["/bin/bash", "/root/docker/start.sh"]
CMD的命令会被docker run设置的命令覆盖;而ENTRYPOINT不会被覆盖
浙公网安备 33010602011771号