镜像构建

镜像构建

构建镜像,主要有两种方法:

  • 制作快照方式:在基础镜像上(比如Ubuntu),先拉起镜像并进入容器,在容器中执行安装任务,然后整体制作快照;
  • Dockerfile方式:将软件安装的流程写成Dockerfile,使用docker build构建成容器镜像。

1. 制作快照方式构建镜像

在本地主机或云服务器上,安装Docker;
准备一个基础镜像,拉起镜像后生成容器,进入该容器。例如:启动一个CentOS的容器;

docker run -it centos

执行用户任意自定义操作,例如执行安装任务;

yum install XXX 
或者
git clone https://github.com/XXX/XXX.git

输入exit退出容器;
制作快照;

docker commit -m "xxx" [-a "xxx"] CONTAINER-ID [REPOSITORY/]IMAGE[:TAG]
[ ] 内为可选参数
  • -m:提交时的说明文字;
  • -a:提交的镜像作者;
  • CONTAINER-ID:容器ID,执行docker ps -a可以查询容器ID;
  • [REPOSITORY/]IMAGE[:TAG]:仓库名/镜像名:TAG名;

执行docker images可以查看制作完成的镜像。

2. 使用Dockerfile方式构建镜像

Dockerfile示例:

#Version 1.0.1
FROM centos:latest

#设置root用户为后续命令的执行者
USER root

#执行操作
RUN yum update -y
RUN yum install -y java

#使用&&拼接命令
RUN touch test.txt && echo "abc" >>abc.txt

#对外暴露端口
EXPOSE 80 8080 1038

#添加网络文件
ADD https://www.baidu.com/img/bd_logo1.png /opt/

#设置环境变量
ENV WEBAPP_PORT=9090

#设置工作目录
WORKDIR /opt/

#设置启动命令
ENTRYPOINT ["ls"]

#设置启动参数
CMD ["-a", "-l"]

#设置卷
VOLUME ["/data", "/var/www"]

#设置子镜像的触发操作
ONBUILD ADD . /app/src
ONBUILD RUN echo "on build excuted" >> onbuild.txt

在本地主机或云服务器上,安装Docker;
参考Dockerfile示例,准备Dockerfile文件;
执行命令 docker build [-t REPOSITORY/IMAGE:TAG] .(“.”表示Dockerfile文件在当前目录下,请根据Dockerfile文件实际所在路径进行修改),自动完成镜像制作。

更多详情请参见 Dockerfile官方文档

个结果匹配 ""

    无结果匹配 ""