我对Docker是陌生的,所以,如果我有任何错误的想法,请指出。谢谢〜
我的目标是在docker中运行由我或我所属的团队开发的Web服务器。
因此,我考虑了三个步骤:
有一个图像,将Web文件复制到其中,然后运行container.so,我执行以下步骤:
1-获得一个码头工人形象。
我尝试这样:docker pull centos
,以便获得基于centos的图像。这里,我并不关心centos的版本,当然,它的版本是6.7或,只是标记为:latest。
在这里,我通过查看图像docker images
,可以看到这样的图像:
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/centos latest d123f4e55e12 3 weeks ago 196.6 MB
因此,我认为这一步骤成功了。
2-尝试将本地系统中的文件复制到容器中。
我停在了路径/ tornado上,其中有一个名为fordocker的文件夹。
fordocker包含Web服务器文件。
我尝试这样的共同体(基于指南):
docker cp fordocker/ d123f4e55e12:/web
但!出现错误:
Error response from daemon: No such container: d123f4e55e12
3-如果我成功地复制文件,我可以尝试这样的:docker run -d centos xxx python web.py
。
这一步会出错吗?我还不知道。
我搜索了很多,但没有解释这种现象。
似乎除了我以外,每个人都可以成功使用。
因此,问题来了:
1-我认为的方法可行吗?我必须通过个人资料创建图像吗?
2-如果该方法可行,错误会出在哪里?common cp是否基于我未做的其他事情?
3-如果该方法不可行怎么办?自己创建图像?
祝你有美好的一天〜
您有docker映像和docker容器。那不一样
您拉或建立图像。
启动映像时,它将成为正在运行的容器。
映像不是正在运行的容器,因此,您将无法在映像内复制文件。
我不知道这是您想要做什么,但是您可以
1)启动图片
docker run ...
2)复制或修改文件
docker ps
显示您正在运行的容器,因此您可以
docker cp...
这个正在运行的容器中的文件
3)可能使用
docker commit...
但是通常情况下,如果要修改映像,则可以修改Dockerfile,因此您可以使用以下命令轻松构建新映像
docker build -t myuser/myimage:321 .
请注意最后一个点,这意味着您使用本地的Dockerfile。
例如,参见Nginx的Dockerfile
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句