2016-01-17 210 views
0

當我使用exec命令進入泊塢窗容器,我看到下面 - 「根@ a76900dc9d7f:在/ var/lib中/泊塢窗/ AUFS到/ mnt/a76900dc9d7fef697b1392793a651752b40879d2ef5e2e1a4947d5f965434866#」
如果我做的 「ls」,我可以看到類似var,lib,run的目錄。
因此,當我執行像 - vi /var/myfile.txt這樣的命令時,它正在主機var目錄中創建文件。爲了在我的容器var目錄中創建,我需要執行 - 「vi var/myFile.txt」,這非常奇怪。有人可以解釋這種行爲泊塢窗exec命令

一些詳細信息:
UNAME -a
Linux的廣告泊塢窗-QA-0002 3.2.0-4-AMD64#1 SMP Debian的3.2.68-1 + deb7u6 x86_64的GNU/Linux的

Dockerfile:

FROM debian:wheezy 
 

 
RUN echo 'nameserver 8.8.8.8' > /etc/resolve.conf 
 
ENV DEBIAN_FRONTEND=noninteractive 
 
RUN sed -i -e"s/exit 101/exit 0/" /usr/sbin/policy-rc.d 
 

 

 
RUN apt-get update && apt-get install -y --force-yes procps \ 
 
psmisc \ 
 
openjdk-7-jre \ 
 
openjdk-7-jdk \ 
 
wget \ 
 
tar 
 

 
RUN wget http://supergsego.com/apache/kafka/0.8.2.1/kafka_2.10-0.8.2.1.tgz 
 
RUN wget http://mirrors.ukfast.co.uk/sites/ftp.apache.org/zookeeper/stable/zookeeper-3.4.6.tar.gz 
 
RUN tar xvzf kafka_2.10-0.8.2.1.tgz 
 
RUN tar -xvf zookeeper-3.4.6.tar.gz 
 

 
EXPOSE 2181 
 
EXPOSE 9092 
 

 
ADD finalscript.sh /finalscript.sh 
 
RUN chmod 777 /finalscript.sh 
 
COPY startScript.sh /startScript.sh 
 
RUN chmod 777 /startScript.sh 
 

 
ENTRYPOINT ["/startScript.sh"] 
 

 
#Startscript in the entrypoint create folders and run the kafka start script

我使用以下語法啓動容器:

docker run -d --name my_kafka-kafka-apache -p 2181:2181 -p 9092:9092 -v $(pwd)/config/kafka-apache:/var/config_copy/my_kafka/kafka-apache my_kafka-kafka-apache-image 

我運行了評論中建議的腳本。

warning: /proc/config.gz does not exist, searching other paths for kernel config ... 
 
info: reading kernel config from /boot/config-3.2.0-4-amd64 ... 
 

 
Generally Necessary: 
 
- cgroup hierarchy: properly mounted [/sys/fs/cgroup] 
 
- CONFIG_NAMESPACES: enabled 
 
- CONFIG_NET_NS: enabled 
 
- CONFIG_PID_NS: enabled 
 
- CONFIG_IPC_NS: enabled 
 
- CONFIG_UTS_NS: enabled 
 
- CONFIG_DEVPTS_MULTIPLE_INSTANCES: enabled 
 
- CONFIG_CGROUPS: enabled 
 
- CONFIG_CGROUP_CPUACCT: enabled 
 
- CONFIG_CGROUP_DEVICE: enabled 
 
- CONFIG_CGROUP_FREEZER: enabled 
 
- CONFIG_CGROUP_SCHED: enabled 
 
- CONFIG_CPUSETS: enabled 
 
- CONFIG_MEMCG: missing 
 
- CONFIG_MACVLAN: enabled (as module) 
 
- CONFIG_VETH: enabled (as module) 
 
- CONFIG_BRIDGE: enabled (as module) 
 
- CONFIG_BRIDGE_NETFILTER: enabled 
 
- CONFIG_NF_NAT_IPV4: missing 
 
- CONFIG_IP_NF_FILTER: enabled (as module) 
 
- CONFIG_IP_NF_TARGET_MASQUERADE: enabled (as module) 
 
- CONFIG_NETFILTER_XT_MATCH_ADDRTYPE: enabled (as module) 
 
- CONFIG_NETFILTER_XT_MATCH_CONNTRACK: enabled (as module) 
 
- CONFIG_NF_NAT: enabled (as module) 
 
- CONFIG_NF_NAT_NEEDED: enabled 
 
- CONFIG_POSIX_MQUEUE: enabled 
 

 
Optional Features: 
 
- CONFIG_USER_NS: enabled 
 
- CONFIG_SECCOMP: enabled 
 
- CONFIG_MEMCG_KMEM: missing 
 
- CONFIG_MEMCG_SWAP: missing 
 
- CONFIG_MEMCG_SWAP_ENABLED: missing 
 
- CONFIG_RESOURCE_COUNTERS: enabled 
 
- CONFIG_BLK_CGROUP: enabled 
 
- CONFIG_IOSCHED_CFQ: enabled 
 
- CONFIG_BLK_DEV_THROTTLING: missing 
 
- CONFIG_CGROUP_PERF: enabled 
 
- CONFIG_CGROUP_HUGETLB: missing 
 
- CONFIG_NET_CLS_CGROUP: enabled 
 
- CONFIG_NETPRIO_CGROUP: missing 
 
- CONFIG_CFS_BANDWIDTH: missing 
 
- CONFIG_FAIR_GROUP_SCHED: enabled 
 
- CONFIG_RT_GROUP_SCHED: missing 
 
- CONFIG_EXT3_FS: enabled (as module) 
 
- CONFIG_EXT3_FS_XATTR: enabled 
 
- CONFIG_EXT3_FS_POSIX_ACL: enabled 
 
- CONFIG_EXT3_FS_SECURITY: enabled 
 
- CONFIG_EXT4_FS: enabled (as module) 
 
- CONFIG_EXT4_FS_POSIX_ACL: enabled 
 
- CONFIG_EXT4_FS_SECURITY: enabled 
 
- Storage Drivers: 
 
    - "aufs": 
 
    - CONFIG_AUFS_FS: enabled (as module) 
 
    - "btrfs": 
 
    - CONFIG_BTRFS_FS: enabled (as module) 
 
    - "devicemapper": 
 
    - CONFIG_BLK_DEV_DM: enabled (as module) 
 
    - CONFIG_DM_THIN_PROVISIONING: enabled (as module) 
 
    - "overlay": 
 
    - CONFIG_OVERLAY_FS: missing 
 
    - "zfs": 
 
    - /dev/zfs: missing 
 
    - zfs command: missing 
 
    - zpool command: missing

+1

這很奇怪。請發佈您用來啓動此容器的'docker run'命令,如果您使用自己的Dockerfile,請發佈該命令。 – helmbert

+1

你在做什麼內核/系統?聽起來你的系統可能沒有運行docker的最低要求。 Docker需要內核3.10作爲最低限度(你可以使用這個腳本檢查是否一切正常; https://raw.githubusercontent.com/docker/docker/master/contrib/check-config.sh) – thaJeztah

+0

'uname -a Linux ad-docker-qa-0002 3.2.0-4-amd64#1 SMP Debian 3.2.68-1 + deb7u6 x86_64 GNU/Linux' - 這是你的問題。這可能是Debian Wheezy,不是嗎?升級到Jessie或從backports安裝更新的內核。 – helmbert

回答

1

根據所提供的信息,泊塢窗上安裝了內核版本太舊,無法運行碼頭工人和不必須安全地運行碼頭工人所需的所有功能。

Docker requires kernel 3.10 as a minimum(最好更新),並且始終確保您的內核是最新的以最大限度地降低安全風險。

儘管仍然支持Debian wheezy,如果可能的話,我建議升級到更新的版本(Jessie)。