我是码头工人的新手。我有一个将数据加载到 impala 的 shell 脚本,我想要一个运行构建图像并运行容器的 docker 文件。我在 mac 上,安装了 boot2docker 并设置了 DOCKER_HOST
。
bash-3.2$ docker info
Containers: 0
Images: 0
Storage Driver: aufs
Root Dir: /mnt/sda1/var/lib/docker/aufs
Dirs: 0
Execution Driver: native-0.2
Kernel Version: 3.15.3-tinycore64
Debug mode (server): true
Debug mode (client): false
Fds: 10
Goroutines: 10
EventsListeners: 0
Init Path: /usr/local/bin/docker
Sockets: [unix:///var/run/docker.sock tcp://0.0.0.0:2375]
我正在尝试使用以下方法安装预先构建的图像:
sudo docker pull busybox
我收到此错误:
sudo docker pull busybox
2014/08/18 17:56:19 Post http:///var/run/docker.sock/images/create?fromImage=busybox&tag=: dial unix /var/run/docker.sock: no such file or directory
我的 docker 设置有问题吗?
当我执行 docker pull busybox
时,它会拉取图像并下载完成。
bash-3.2$ docker pull busybox
Pulling repository busybox
a9eb17255234: Download complete
fd5373b3d938: Download complete
d200959a3e91: Download complete
37fca75d01ff: Download complete
511136ea3c5a: Download complete
42eed7f1bf2a: Download complete
c120b7cab0b0: Download complete
f06b02872d52: Download complete
120e218dd395: Download complete
1f5049b3536e: Download complete
bash-3.2$ docker run busybox /bin/echo Hello Doctor
Hello Doctor
我错过了什么吗?
原文由 user1189851 发布,翻译遵循 CC BY-SA 4.0 许可协议
当您使用
boot2docker
sudo
运行任何 docker 命令,因为传递到boot2docker
的每个命令都默认以 root 身份运行。当您以
sudo
身份运行时,您会看到错误,因为sudo
没有DOCKER_HOST
设置,只有您的用户有。您可以通过执行以下操作来确认:
然后一个
并在每个输出中寻找
DOCKER_HOST
。至于有一个运行脚本的 docker 文件,这样的事情可能对你有用:
Dockerfile
然后你可以运行:
这将构建您的 docker 映像,您可以通过执行以下操作来查看:
然后,要运行您的容器,您可以执行以下操作:
此运行命令将从您使用
Dockerfile
和您的构建命令创建的映像启动一个容器,然后在您的script.sh
完成执行后完成。