制作 Docker 镜像

最近更新时间:2024-07-31 11:10:42

我的收藏

容器镜像制作方式

制作容器镜像主要有两种方法:
1. 通过快照获取镜像。
2. 通过 Dockerfile 构建镜像。
方法一适用于后续镜像不发生变化的情况,方法二适用于后续镜像经常发生变更的情况。

方法一:通过快照获取镜像

1. 安装容器引擎软件。
2. 启动一个空白基础容器,进入该容器。
docker run -it centos
3. 执行安装任务:
yum install XXX
git clone https://github.com/lh3/bwa.git
cd bwa;make
4. 退出容器:
exit
5. 制作快照:
docker commit -m "xx" -a "test" container-id test/image:tag
6. 查看已制作的容器镜像:
docker images

方法二:通过 Dockerfile 构建镜像

方法二适用于后续镜像经常变更的情况,通过执行 Dockerfile 自动化完成镜像的制作。
举例:
FROM ubuntu:latest

SHELL ["/bin/bash", "-c"]

RUN set -e \\
&& apt-get -y update \\
&& apt-get -y dist-upgrade \\
&& apt-get -y install curl build-essential libncurses5-dev zlib1g-dev libbz2-dev liblzma-dev libcurl4-openssl-dev \\
&& apt-get -y autoremove \\
&& apt-get clean \\
&& rm -rf /var/lib/apt/lists/*
# samtools

RUN set -eo pipefail \\
&& curl -SL \\
https://github.com/samtools/samtools/releases/download/1.15/samtools-1.15.tar.bz2 \\
-o /tmp/samtools.tar.bz2 \\
&& tar xvf /tmp/samtools.tar.bz2 -C /usr/local/src \\
&& mv /usr/local/src/samtools-* /usr/local/src/samtools \\
&& cd /usr/local/src/samtools \\
&& ./configure --prefix=/usr/local \\
&& make \\
&& make install