我是码头工人的首发位置。我正在尝试创建需要一些基本图像的helloworld docker图像。我在内联网网络工作。那么,我怎样才能获得基本图像?我使用的是Redhat linux 7。
答案 0 :(得分:4)
Docker会自动下载您在Dockerfile中指定的基本映像。所以,例如,一个非常简单的'#hello-world"图像可能是;
Dockerfile的内容:
FROM alpine
CMD echo "hello-world"
从Dockerfile构建映像,并命名为" hello":
docker build -t hello .
您将看到Docker拉出alpine
图片,如果还没有,然后构建图片;
Sending build context to Docker daemon 2.048 kB
Step 1 : FROM alpine
---> 70c557e50ed6
Step 2 : CMD echo "hello world"
---> Running in 94fcb9b89aaa
---> 6462a272b1d6
Removing intermediate container 94fcb9b89aaa
Successfully built 6462a272b1d6
然后您可以从图像中运行一个容器(此图像将立即运行,并在完成后直接退出)
$ docker run hello
hello world
您可以将任何图片用作" base" (FROM
)图像用于您自己的图像,因此您在Docker Hub上找到的任何图像都可以用作基础。
但是,一般情况下,建议使用"官方"图像作为您自己图像的基础。有各种各样的发行版"可用,如Ubuntu,Debian,Alpine(如果你想要一个轻量级的图像),CentOS等。基本图像不必匹配主机的发行版(所以你可以使用" ubuntu&#34 ;对于您的图像,即使您的主机上运行了Red Hat)
你可以在这里找到官方图片; https://hub.docker.com/explore/
对于更先进的#34;你好世界"图片,请参阅此处的文档; https://docs.docker.com/engine/userguide/containers/dockerizing/
编写Dockerfiles的最佳实践; https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/
答案 1 :(得分:0)
使用tar
创建完整图片一般情况下,您需要从运行您希望打包为基本映像的发行版的工作计算机开始,尽管对于像Debian Debootstrap
这样的某些工具来说这不是必需的。也可用于构建Ubuntu映像。
创建Ubuntu基本映像可以很简单:
$ sudo debootstrap raring raring > /dev/null
$ sudo tar -C raring -c . | docker import - raring
a29c15f1bf7a
$ docker run raring cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=13.04
DISTRIB_CODENAME=raring
DISTRIB_DESCRIPTION="Ubuntu 13.04"
在Docker GitHub Repo中有更多用于创建基本映像的示例脚本: