详解Docker——你需要知道的Docker进阶知识二

详解Docker——你需要知道的Docker进阶知识二,第1张

Docker镜像

镜像仓库(Repository)用于存放镜像,每个仓库都有唯一的地址,和网址类似。镜像仓库托管在某个 Registry,Registry 和GitHub类似。Docker 提供了一个官方的 Registry,官方 Registry 里的镜像仓库地址可以省去前面的域名前缀,其它 Registry 里的镜像仓库地址必须要指定域名前缀,以保证唯一性。

镜像仓库地址后面可以跟一个 TAG。比如一个镜像名称ubuntu:14.04 ,冒号前面的 ubuntu 是镜像仓库地址(由于是官方 Registry 里的,可以省略域名前缀),后面的 14.04 是 TAG,TAG 通常设置为镜像的版本号。

Docker 镜像是分层存储的,每一个镜像都由多层组成。镜像之间会森察世共享一些相同的层,从而减小镜像占用的存储空间。

也可以查看指定的镜像:

查看镜像的详细信息

比较常用的配置参数为-a ,代表下载仓库中所有 TAG 的镜像,默认只下载 latest TAG 的镜像。

如果要下载ubuntu:14.04 镜像没没,可使用如下命令

对于我们pull 的新镜像 ubuntu:14.04 来说,如果我们需要对其进行更新,可以创建一个容器,在容器中进行修改,然后将修改提交到一个新的镜像中。

提交修改使用如下命令:

该命令从一个修改过的容器创建一个新的镜像。例如,我们运行一个容器,然后在其中创建一个文件,最后使用commit 命令:

通过上述 *** 作我们创建了一个新的镜像,但是本方法不推荐在生产环境使用,因为这种方式的可维护性很差。推荐的创建镜像的方法是使用Dockerfile ,修改镜像可通过修改 Dockerfile ,然后使用新的 Dockerfile 来构建新的镜像。

docker 可以从一个 Dockerfile 文件中读取指令来构建镜像。 Dockerfile 是一个包含用户构建镜像所需命令的文本文件。在 创建好该文件后,我们此肢可以使用如下命令来构建镜像:

对于一个Dockerfile 文件内容来说,基本语法格式如下所示:

使用# 号作为注释,指令( INSTRUCTION )不区分大小写,但是为了可读性,一般将其大写。 Dockerfile 中的指令一般包含下面几个部分:

下面是一个最基本的Dockerfile :

通过阅读上述内容中我们熟悉的一些linux 指令,可以很容易的知道该 Dockerfile 将创建一个 apache 镜像。

其中FROM 指定基础镜像。 RUN 命令默认使用 /bin/sh ,并使用 root 权限执行。 CMD 命令也是默认在 /bin/sh 中执行,但是只能有一条 CMD 指令,如果有多条则只有最后一条会被执行。

下面我们创建一个空目录,在其中编辑Dockerfile 文件,然后基于此文件构建一个新的镜像:

在构建完成后,我们可以使用该镜像启动一个容器来运行apache 服务,运行如下命令:

此时,容器启动成功后,并且配置了端口映射,我们就可以通过本机的8000 端口访问容器 hellodocker3 中的 apache 服务了。我们打开浏览器,输入 localhost:8000

删除ubuntu:latest 镜像可以使用如下命令:

删除所有的镜像

1.dockerfile 的基本定义

2. dockerfile 的基闭祥卜本结构

3. dockerfile 的常用指令

FROM :指定基础镜像,必须是第一个命令

MAINTAINER :维护者信息

RUN :构建镜像时执行的命令

ADD :将本地文件添加到容器中

COPY 功能和 ADD 类似,区别如下

CMD :构建宴纳容器这后使用

ENTRYPOINT :配置容器,与CMD类似

LABEL :用于为镜像添加元数据

ENV :设置环境变量

EXPOSE :指定与外界交互的端口

VOLUME :用于指定持久化目录

WORKDIR :工作目录,类似于 CD 命令

USER :指定运行容器时的用户名或UID,后面的RUN也会使用指定用户,当服务不需要管理员权限时,可以通过该命令指定运行用户

ARG :用于指定传递给构建运行时的变量

ONBUILD :用于设置镜像触发器

编写dockerfile文件

通过dockerfile构建镜像

查看镜像构建的过程,可以使用 docker history 镜像id 来查看

创建完命名空间后,打开镜像仓库,创建镜像仓库,选择轿穗本地仓库

根据官方给的文档开始提交就可以,这里就不截图了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12125041.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存