2天我尝试在ubuntu容器中运行docker:
docker run -it ubuntu bash
- 按照的说明安装dockerhttps://docs.docker.com/engine/install/ubuntu/或/和https://phoenixnap.com/kb/how-to-install-docker-on-ubuntu-18-04
- 最后我安装了docker:
root@e65411d2b70a:/# docker -v
Docker version 19.03.6, build 369ce74a3c
- 但是当我尝试运行
docker run hello-world
时出现了一些问题
root@5ac21097b6f6:/# docker run hello-world
docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
See 'docker run --help'.
在服务列表中非码头:
root@5ac21097b6f6:/# service docker start
docker: unrecognized service
root@5ac21097b6f6:/# service --status-all
[ - ] apparmor
[ + ] cgroupfs-mount
[ - ] dbus
[ ? ] hwclock.sh
[ - ] procps
[ ? ] ubuntu-fan
当尝试运行dockerd
:时
root@5ac21097b6f6:/# dockerd
INFO[2020-04-23T07:01:11.622627006Z] Starting up
INFO[2020-04-23T07:01:11.624389266Z] libcontainerd: started new containerd process pid=154
INFO[2020-04-23T07:01:11.624460438Z] parsed scheme: "unix" module=grpc
INFO[2020-04-23T07:01:11.624477203Z] scheme "unix" not registered, fallback to default scheme module=grpc
INFO[2020-04-23T07:01:11.624532871Z] ccResolverWrapper: sending update to cc: {[{unix:///var/run/docker/containerd/containerd.sock 0 <nil>}] <nil>} module=grpc
INFO[2020-04-23T07:01:11.624560679Z] ClientConn switching balancer to "pick_first" module=grpc
INFO[2020-04-23T07:01:11.664827037Z] starting containerd revision= version="1.3.3-0ubuntu1~18.04.2"
ERRO[2020-04-23T07:01:11.664943052Z] failed to change OOM score to -500 error="write /proc/154/oom_score_adj: permission denied"
...
INFO[2020-04-23T07:01:11.816951247Z] stopping event stream following graceful shutdown error="context canceled" module=libcontainerd namespace=plugins.moby
failed to start daemon: Error initializing network controller: error obtaining controller instance: failed to create NAT chain DOCKER: iptables failed: iptables -t nat -N DOCKER: iptables v1.6.1: can't initialize iptables table `nat': Permission denied (you must be root)
Perhaps iptables or your kernel needs to be upgraded.
(exit status 3)
如果用户为root
,则不理解为什么为Permission denied
。
安装sudo
并将root添加到组中,但这没有帮助。
apt-get install sudo
usermod -a -G sudo root
-sudo dockerd
存在保存问题。
如何在ubuntu容器中制作工作docker?你有想法吗?
ps。我知道docker中的docker,我需要在ubuntu容器中的确切docker
pss。我知道-v /var/run/docker.sock:/var/run/docker.sock
,但需要在ubuntu容器中独立的docker服务。
在docker中运行docker时,容器必须使用主机上的docker引擎。
这里有一个简单的工作设置:
1( 创建一个安装了docker CLI的dockerfile。我使用的是官方的合成图像,所以你也有docker合成
FROM docker/compose:1.25.5
WORKDIR /app
ENTRYPOINT ["/bin/sh"]
2( 运行时,安装docker sock
$ docker build -t dind .
$ docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock dind
容器中的表单,现在有了docker。尝试运行docker ps
如果你想在没有-v /var/run/docker.sock:/var/run/docker.sock
的情况下在docker中进行docker,那么恐怕没有好的方法可以做到这一点。从主机共享docker套接字是使docker容器在另一个docker容器中运行的经典方法。