第 13 章 使用应用程序创建容器
本节论述了如何从本地构建的应用程序创建 docker 格式的容器镜像。在您希望使用编排进行部署时,使您的应用作为容器可用。另外,容器化可以有效地解决依赖项冲突。
先决条件
- 了解容器
- 从源本地构建的应用程序
步骤
确定要使用的基础镜像。
注意红帽建议从使用 Red Hat Enterprise Linux 作为其基础的基础镜像开始。如需更多信息,请参阅 Red Hat Container Catalog 中的基础镜像。
- 创建工作空间目录。
- 将应用程序准备为包含所有应用程序所需文件的目录。将该目录放到工作区目录中。
编写 Dockerfile,用于描述创建容器所需的步骤。
如需有关如何包含您的内容、设置要运行的默认命令以及打开必要的端口和其他功能的信息,请参阅 Dockerfile 参考。
此示例显示包含
my-program/
目录的最小 Dockerfile:FROM registry.access.redhat.com/rhel7 USER root ADD my-program/ .
将此 Dockerfile 放入工作空间目录中。
从 Dockerfile 构建容器镜像:
# docker build . (...) Successfully built container-id
在这一步中,请注意新创建的容器镜像的 container-id。
向镜像添加标签,以标识想存储容器镜像的 registry。请参阅开始使用容器 - 标记镜像。
# docker tag container-id registry:port/name
将 container-id 替换为上一步输出中显示的值。
使用您 要将镜像推送到的 registry 地址替换 registry,使用 registry 的端口(如果需要,使用名称 )替换 registry。
例如,如果您在本地系统中使用
docker-distribution
服务来运行 registry,并且名为 myimage 的镜像,标签 localhost:5000/myimage 会启用该镜像推送到 registry。将镜像推送到 registry,以便稍后从该 registry 中拉取。
# docker push registry:port/name
将 tag 部分替换为与上一步中使用的值相同的值。
要运行自己的 Docker registry,请参阅开始使用容器 - 使用 Docker registry。
其它资源
- OpenShift Container Platform - Develop:镜像
- Red Hat Enterprise Linux Atomic Host - 容器开发推荐做法
- Dockerfile 参考
- Docker 文档 - 入门,第 2 部分:容器
- Red Hat Enterprise Linux Atomic Host - 开始使用容器
- Red Hat Container Catalog 列表 - 基础镜像