我在终端中运行了某些基本的docker命令。现在我想要的是将所有基本docker命令都使用到一个docker文件中,然后构建该docker文件。
例如。考虑两个Docker文件File-Docker1,Docker2
Docker1包含要运行的命令列表
在Docker2内部,我想构建并运行Docker1
Docker2 :(考虑带有演示代码的场景)
FROM ubuntu:16.04
MAINTAINER [email protected]
WORKDIR /home/docker_test/
RUN docker build -t Docker1 .
RUN docker run -it Docker1
我想做这样的事情。但是它抛出了-docker:来自守护程序oci运行时的错误响应创建失败的container_linux.go
我怎样才能做到这一点?我要去哪里错了
PS-我是Docker的新手
您的示例将两个步骤混合在一起:图像创建和运行图像,这些步骤不能以这种方式混合(使用Dockerfile
)。
ADockerfile
用于创建图像。让我们以alpine3.8 docker文件为例
FROM scratch
ADD rootfs.tar.xz /
CMD ["/bin/sh"]
它是一个基础图像,不是基于另一个图像,而是启动FROM scratch
。然后,将tar文件复制并解压缩,请参见ADD并将外壳设置为启动命令,请参见CMD。你可以用
docker build -t test_image .
从同一文件夹中发出Dockerfile
。您还需要rootfs.tar.xz
在该文件夹中,从上面的高山链接复制它。
这样test_image
您就可以生成带有以下内容的容器
docker run -it test_image
它将启动并为您提供容器内的外壳。
通常不需要images
在生成新版本之前一遍又一遍地建立您的产品container
。但是,如果确实需要,可以使用docker-compose
。Docker Compose旨在定义和运行由多个容器组成的服务堆栈。堆栈在docker-compose.yml
文件中定义。
version: '3'
services:
alpine_test:
build: .
build: .
会image
在开始之前重新构建,但是通常只要拥有image: <image_name>
并使用已经存在的映像就足够了。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句