我已经成功将 Docker 安装到 Ubuntu 16。但为了正确发出命令,我sudo
在所有 docker 命令前面添加了 ,例如sudo docker pull wordpress
。无论如何,sudo
解决了我的Cannot connect to daemon
问题。但是,我需要将 docker 安装到 ubuntu 容器中,就像我在主机上所做的一样。我研究并找到了以下解决方案,但它们对容器不起作用(我apt-get update
在所有这些之前都运行过):
- 使用
sudo
。没有用。 sudo usermod -aG docker <your username>
.没用。sudo usermod -aG docker $USER
.没用。
但是,关于sudo
命令,它在容器中不可用。所以我不得不运行apt-get install sudo
。然后,sudo
开始工作但不是docker。docker
命令本身可以工作。但是,当您通过Docker CLI向docker引擎发出请求时,它会说它未连接,或者守护进程不工作。此外,docker ubuntu容器中的默认用户是root
。当您进入bash TTY时,您会看到root@[some number]
。我正在使用以下命令安装docker:。sudo apt-get install docker.io
我已按照此处的说明在我的主机Linux机器上安装docker:
- https://docs.docker.com/engine/installation/linux/ubuntulinux/
- https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04
但真正有效的是:
https://www.liquidweb.com/kb/how-to-install-docker-on-ubuntu-14-04-lts/
答案1
在您的 Ubuntu:xenial 容器内执行以下操作。[假设您将在容器内使用 root 用户]
apt-get update
apt-get install apt-transport-https ca-certificates
apt-key adv \ --keyserver hkp://ha.pool.sks-keyservers.net:80 \ --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
echo "<REPO>" | sudo tee /etc/apt/sources.list.d/docker.list
在 repo 位置添加deb https://apt.dockerproject.org/repo ubuntu-xenial main
apt-get update
apt-get install linux-image-extra-$(uname -r) linux-image-extra-virtual
apt-get install docker-engine
上述步骤应该会在你的容器内安装docker。
请参考此关联