在Docker中,镜像是什么意思?
首先
这是一篇关于Docker镜像总结的文章。可能会有一些信息已经过时,请谅解。
以下是我总结的有关Docker的文章。如果您感兴趣,请查看。
-
- Dockerにおけるコンテナ
-
- Dockerにおけるイメージとは
-
- Dockerにおけるネットワーク
- Dockerにおけるデータ管理
Docker镜像是什么?

-
- コンテナ実行に必要なファイルをまとめたファイルシステムです。
-
- AUFSなどの特殊なファイルシステムが使用されています。
-
- イメージ上のデータはレイヤーで構成され読み取り専用です。
-
- Dockerイメージにnginxをインストールするコマンドを実行すればそれが1つの階層として作られ、設定ファイルをイメージ内にコピーすればさらに階層が作られます。
- コンテナレイヤー上にファイルの追加や削除、パッケージ追加を行いそれをイメージとして保存する事も可能です。
为了尽量减小容器的体积并节省空间,创建镜像时确保不包含任何无用的文件是非常重要的。
在本地查看 Docker 映像
$ docker images
给Docker镜像打上标签,并进行版本管理的命令。
$ docker tag docker/whalesay my_whalesay:ver1
REPOSITORY TAG IMAGE ID CREATED SIZE
my_whalesay ver1 6b362a9f73eb 8 years ago 247MB
显示Docker镜像的详细信息
$ docker inspect my_whalesay:ver1
删除本地的Docker镜像命令
$ docker rmi docker/whalesay
// 強制削除 -fをつける
$ docker rmi -f docker/whalesay
获取图像的命令 de
如果在图像后面没有指定版本,将默认获取@latest版本的图像。
$ docker pull docker/whalesay
构建Dockerfile中的镜像
用Dockerfile创建镜像的过程被称为镜像构建。
FROM docker/whalesay:latest
COPY default.conf /etc/nginx/conf.d/default.conf
RUN apt-get -y update && apt-get install -y fortunes
CMD /usr/games/fortune | cowsay
FROM指令は、ベースとなるイメージを指定します。Docker イメージは、別のイメージをベースに構築されることが多いです。FROM 指令は、Dockerfile の最初の行で指定される必要があります。
COPY指示は、ビルドコンテキスト内のファイルやディレクトリをイメージ内の指定したパスにコピーします。
RUN指令は、コマンドを実行してイメージ内で操作を行います。Dockerイメージを構築する際に、パッケージのインストール、ファイルの作成、環境変数の設定など、さまざまな操作を実行するために使用されます。RUN指令は、Dockerfile 内で複数回使用することができます。
CMD指令は、コンテナが実行されるときに実行されるデフォルトのコマンドまたは引数を指定します。CMD 指令は、Dockerfile 内で一度だけ使用することができます。また、CMD 指令は、コマンドを配列形式で指定するか、文字列形式で指定することができます。
接下来将解释如何构建Dockerfile的命令。
$ docker build -t docker-whale .
-tオプションは、ビルドするイメージにタグを付けるためのオプションです。docker-whale はイメージに付けられるタグの名前です。タグはイメージを特定するために使用されます。
.は Dockerfile が存在するディレクトリを表します。この場合、カレントディレクトリにある Dockerfile を使用してイメージをビルドします。.を使用することで、現在のディレクトリにある Dockerfile をビルドコンテキストに含めることができます。
构建上下文(Build Context)是在Docker镜像构建过程中使用的工作目录和文件的集合。构建上下文是在执行docker build命令时指定的目录或路径。
在构建Docker镜像时,会使用构建上下文内的文件和目录。Docker引擎会压缩构建上下文中的所有文件,并将其发送到Docker守护进程。因此,如果构建上下文很大或包含不必要的文件,可能会导致构建过程变慢。
构建上下文通常包含Dockerfile及其依赖文件、所需的应用程序代码和配置文件等。Dockerfile必须存在于构建上下文内。在执行docker build命令时,通常将构建上下文设置为当前目录,使用”.”显式地指定。
构建上下文内的文件和目录将通过Dockerfile中的COPY或ADD命令复制到镜像中。如果构建上下文中的文件进行了更改,Docker可以通过使用缓存和优化构建来检测这些更改,从而提高构建过程的效率。
然而,需要注意构建上下文。如果包含不必要的文件或目录,可能会导致构建过程或最终镜像的大小变得不必要地大。正确选择和组织文件,将不需要的文件添加到.dockerignore文件中,优化构建上下文非常重要。
另外,在构建图像时,您可以使用–no-cache选项来禁用缓存。
$ docker build --no-cache -t docker-whale .
使用docker commit命令从容器创建镜像。
docker commit命令用于从容器创建镜像。
如果使用docker commit命令从已经进行过某些操作的容器创建镜像文件,则无法明确记录在容器内进行的工作的位置。
因此,这可能会导致创建出难以处理的镜像文件,所以通常最好是在Dockerfile中进行更改。
$ docker commit <コンテナ名 または コンテナID> <イメージ名>:<タグ名>
结束
非常感谢您阅读完整篇文章。
如果有任何错误,请您指正,我将不胜感激。
请参照下述内容进行汉语的本地化表达,仅提供一种选项:
参考: