我已经安装了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?
答案 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 -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 -a
和modest_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
。
modest_jennings
此命令启动已停止的容器。所以,在我们的例子中,文件仍然存在:
container_name
$ 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/bash
和more /tmp/test.txt