基于标准创建新图像

时间:2018-03-16 08:54:48

标签: docker

我已经安装了Docker并使用命令运行了一些Ubuntu映像:

sudo docker run ubuntu

我想在其上创建一些文本文件,并在下次运行相同的图像时找到它。如何实现?

UPD。

附加到docker时遇到问题。 我有跑船码头

docker ps -a
aef01293fdc9        ubuntu              "/bin/bash"         6 hours ago         Up 6 hours                                      priceless_ramanujan

由于它是Up模式,我想我不需要执行命令:

docker start priceless_ramanujan

所以,我运行命令attach

docker attach priceless_ramanujan

当命令没有返回时,输出中没有任何内容。

为什么我无法进入容器的bash?

2 个答案:

答案 0 :(得分:0)

简单示例:

import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt

data = pd.read_csv('your_data.csv', index_col=0)

sns.boxplot(
    x='Score', 
    y='Interest.Rate', 
    data=data
).set(
    xlabel='FICO Score', 
    ylabel='Interest Rate'
)
plt.show()

docker run $ docker run -it ubuntu root@4d5643e8c1a8:/# echo "test" > test.txt root@4d5643e8c1a8:/# cat test.txt test root@4d5643e8c1a8:/# exit exit $ docker run -it ubuntu root@cdb44750bffc:/# cat test.txt cat: test.txt: No such file or directory root@cdb44750bffc:/#

此命令根据提供的image_name创建并启动容器。如果没有为容器设置名称,则会生成一个随机的名称并由docker分配。在上面的示例中,基于image_name创建了2个容器。

  • ubuntu我们可以看到docker ps -amodest_jennings是随机创建的名称:

    optimistic_leakey
  • $ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cdb44750bffc ubuntu "/bin/bash" About a minute ago Exited (1) 4 seconds ago optimistic_leakey 4d5643e8c1a8 ubuntu "/bin/bash" 2 minutes ago Exited (0) 2 minutes ago modest_jennings 第二次失败,因为该文件不存在。容器从“干净的”cat test.txt图像开始。

实际上,我们仅在ubuntu内创建了test.txt

docker start modest_jennings

此命令启动已停止的容器。所以,在我们的例子中,文件仍然存在:

container_name

docker commit $ docker start modest_jennings modest_jennings $ docker attach modest_jennings root@4d5643e8c1a8:/# cat test.txt test root@4d5643e8c1a8:/# container_name

此命令用于创建新图像,以便您以后可以使用它并根据该图像运行容器。继续我们的例子......

image_name

答案 1 :(得分:0)

如果您想要自定义图像,可以创建Dockerfile

`FROM ubuntu:16.04
 ADD ./test.txt /tmp/`

在您构建它之后docker build -t ubuntu:custom . 最后运行自定义图片docker run --name myubuntu ubuntu:custom sleep 3000

您可以使用docker exec -it myubuntu /bin/bashmore /tmp/test.txt

检查您的文件