docker安装主机的/目录到容器的/在debian wheezy 7.8
我在我的debian wheezy主机上创build了一个非常基本的图像。 这是Dockerfile:
FROM ubuntu:trusty USER root # Activate multiverse repos RUN echo 'deb http://archive.ubuntu.com/ubuntu/ trusty universe multiverse' >> /etc/apt/sources.list RUN echo 'deb http://security.ubuntu.com/ubuntu trusty-security universe multiverse' >> /etc/apt/sources.list RUN echo 'deb http://archive.ubuntu.com/ubuntu/ trusty-updates universe multiverse' >> /etc/apt/sources.list RUN apt-get update RUN apt-get install -y supervisor WORKDIR / CMD ["/usr/bin/supervisord", "-n"]
为了构build图像,我使用了docker build -t basic-ubuntu .
为了运行容器,我使用了docker run -d basic-ubuntu
要进入容器,我使用了docker exec -i -t <container_id> bash
当我进入容器时,我所看到的是容器的根目录/
与主机具有相同的内容。 当我在容器上创build一个文件时,它也在主机上创build。 即使我在Dockerfile中添加了一些我在主机上没有的软件包的RUN apt-get install -y
,我在容器上找不到它。 实际上,即使容器上的$ PATHvariables与主机相同。
这里是我env的一些信息
host$ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 7.8 (wheezy) Release: 7.8 Codename: wheezy host$ docker version Client: Version: 1.10.1 API version: 1.22 Go version: go1.5.3 Git commit: 9e83765 Built: Thu Feb 11 19:20:12 2016 OS/Arch: linux/amd64 Server: Version: 1.10.1 API version: 1.22 Go version: go1.5.3 Git commit: 9e83765 Built: Thu Feb 11 19:20:12 2016 OS/Arch: linux/amd64
docker工检查显示的坐骑
"Mounts": []
对于完整的docker检查跟踪: http : //pastebin.com/t4uSu4ZH
我认为问题来自docker执行步骤。 因为构build和运行似乎正常工作。
我认为问题来自
docker exec
步骤
情况当然是这样,考虑到有一个容器在隔离你与主机。
(不同的文件系统,进程,根,用户…)
当你对容器执行“bash”时,你会看到一个提示:
root@<short_container_id>
如果你没有看到,那是因为你的docker exec没有正确执行。
如果你确实看到了,那么你认为主机上的内容实际上仍然是容器的内容。
同样相关的是,当与docker exec
使用时,在-i
(交互式)时会有一个潜在的bug。
请参阅“ 为什么在” docker exec
“命令中存在” -i
“和” -t
“选项?
OP胺 在评论中证实了这种情况:
问题8755(“Docker的tty不是与dockerpipe理器的tty”)意味着-t
(tty)不能正确打开一个tty在centos7上(不是centos6)。
即使TERM
设置为xterm
也会发生这种情况(请不要忘记问题9299 : docker exec
在-t
通过时不会设置TERM
env)
Op提到的另一个问题是:
当我回到debian安装docker的时候 ,我发现在必备软件中,“
kernel must be 3.10 at minimum
”,“These older versions are known to have bugs
”。
而我的debian的内核版本是3.2。
解决scheme是升级到更新的debian版本,内核版本高于3.10 。
我遇到了docker volume mount function
无法正常工作的相同问题。 这原来是内核版本问题。 在将我的Debian内核从3.2升级到3.16后,一切正常。
$ uname -a Linux 3.16.0-0.bpo.4-amd64 #1 SMP Debian 3.16.7-ckt20-1+deb8u3~bpo70+1 (2016-01-19) x86_64 GNU/Linux
- Docker卷数据在docker-stop之后丢失,但通过SFTP可用
- docker连接(101:networking不可达)
- docker服务启动永远在Debian上激活
- 发布泊坞窗容器端口并从另一个泊坞窗容器访问该端口
- 从用户github源设置一个容器
- 在CentOS7上使用Debian库运行MySQL docker镜像
- W:文件大小/var/lib/apt/lists/http.debian.net_debian_dists_jessie_main_binary-amd64_Packages.gz不是服务器报告的内容9101219 9117278
- Docker无法取得http://deb.debian.org/debian/dists/jessie/InRelease
- 如何在debian上安装bcmath:jessie php5.6?