如何使用Docker文件运行Docker命令

BTG123

我在终端中运行了某些基本的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

它将启动并为您提供容器内的外壳。

Docker撰写

通常不需要images在生成新版本之前一遍又一遍地建立您的产品container但是,如果确实需要,可以使用docker-composeDocker Compose旨在定义和运行由多个容器组成的服务堆栈。堆栈在docker-compose.yml文件中定义

version: '3'
services:
  alpine_test:
    build: .

build: .image在开始之前重新构建,但是通常只要拥有image: <image_name>并使用已经存在的映像就足够了

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章