即使使用apt-get安装,也找不到docker命令

添加这个为其他人参考,因为如果这样的答案存在,它可以节省我10分钟。


我尝试使用Ubuntu 14.0LTS virtualbox安装Docker

sudo apt get install docker

但是,当我尝试运行docker时,它给我以下错误

The program 'docker' is currently not installed. You can install it by typing: sudo apt-get install docker

为什么Ubuntu没有看到docker?

Ubuntu包docker实际上是指一个GUI应用程序,而不是我们所期望的DevOps工具。

===更新(谢谢@ Scott Stensland)===

您现在运行以下安装脚本来获取docker:

 sudo curl -sSL https://get.docker.com/ | sh 

这将运行一个脚本来安装docker。 请注意脚本的最后部分:

 If you would like to use Docker as a non-root user, you should now consider adding your user to the "docker" group with something like: sudo usermod -aG docker stens Remember that you will have to log out and back in for this to take effect! 

要更新Docker运行:

 sudo apt-get update && apt-get upgrade 

有关更新的详细信息,请参阅下面的Docker 安装文档或@Scott Stensland的答案

===退役答案===

而不是使用docker使用docker.io

sudo apt-get install docker.io

下面解释为什么它是这样命名的: 为什么在Ubuntu上安装docker应该是`sudo apt-get install docker.io`?

重要 – 在Ubuntu的包docker是完全不同的(避免它):

 apt-cache search ^docker$ docker - System tray for KDE3/GNOME2 docklet applications 

注 – Ubuntu的包docker.io没有得到更新(过时不使用)


相反 ,执行以下操作:通过执行以下操作在Linux上安装docker的最新版本:

  sudo curl -sSL https://get.docker.com/ | sh # sudo curl -sSL https://test.docker.com | sh # get dev pipeline version 

这里是一个典型的输出(Ubuntu的16.04)

 apparmor is enabled in the kernel and apparmor utils were already installed + sudo -E sh -c apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D Executing: /tmp/tmp.rAAGu0P85R/gpg.1.sh --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D gpg: requesting key 2C52609D from hkp server ha.pool.sks-keyservers.net gpg: key 2C52609D: "Docker Release Tool (releasedocker) <docker@docker.com>" 1 new signature gpg: Total number processed: 1 gpg: new signatures: 1 + break + sudo -E sh -c apt-key adv -k 58118E89F3A912897C070ADBF76221572C52609D >/dev/null + sudo -E sh -c mkdir -p /etc/apt/sources.list.d + dpkg --print-architecture + sudo -E sh -c echo deb [arch=amd64] https://apt.dockerproject.org/repo ubuntu-xenial main > /etc/apt/sources.list.d/docker.list + sudo -E sh -c sleep 3; apt-get update; apt-get install -y -q docker-engine Hit:1 http://repo.steampowered.com/steam precise InRelease Hit:2 http://download.virtualbox.org/virtualbox/debian xenial InRelease Ign:3 http://dl.google.com/linux/chrome/deb stable InRelease Hit:4 http://dl.google.com/linux/chrome/deb stable Release Hit:5 http://archive.canonical.com/ubuntu xenial InRelease Hit:6 http://mirror.cc.columbia.edu/pub/linux/ubuntu/archive xenial InRelease Hit:7 http://mirror.cc.columbia.edu/pub/linux/ubuntu/archive xenial-updates InRelease Hit:8 http://ppa.launchpad.net/me-davidsansome/clementine/ubuntu xenial InRelease Ign:9 http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.2 InRelease Hit:10 http://mirror.cc.columbia.edu/pub/linux/ubuntu/archive xenial-backports InRelease Hit:11 http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.2 Release Hit:12 http://mirror.cc.columbia.edu/pub/linux/ubuntu/archive xenial-security InRelease Hit:14 http://ppa.launchpad.net/numix/ppa/ubuntu xenial InRelease Ign:15 http://linux.dropbox.com/ubuntu wily InRelease Ign:16 http://repo.vivaldi.com/stable/deb stable InRelease Hit:17 http://repo.vivaldi.com/stable/deb stable Release Get:18 http://linux.dropbox.com/ubuntu wily Release [6,596 B] Get:19 https://apt.dockerproject.org/repo ubuntu-xenial InRelease [20.6 kB] Ign:20 http://packages.amplify.nginx.com/ubuntu xenial InRelease Hit:22 http://packages.amplify.nginx.com/ubuntu xenial Release Hit:23 https://deb.opera.com/opera-beta stable InRelease Hit:26 https://deb.opera.com/opera-developer stable InRelease Get:28 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages [1,719 B] Hit:29 https://packagecloud.io/slacktechnologies/slack/debian jessie InRelease Fetched 28.9 kB in 1s (17.2 kB/s) Reading package lists... Done W: http://repo.mongodb.org/apt/debian/dists/wheezy/mongodb-org/3.2/Release.gpg: Signature by key 42F3E95A2C4F08279C4960ADD68FA50FEA312927 uses weak digest algorithm (SHA1) Reading package lists... Building dependency tree... Reading state information... The following additional packages will be installed: aufs-tools cgroupfs-mount The following NEW packages will be installed: aufs-tools cgroupfs-mount docker-engine 0 upgraded, 3 newly installed, 0 to remove and 17 not upgraded. Need to get 14.6 MB of archives. After this operation, 73.7 MB of additional disk space will be used. Get:1 http://mirror.cc.columbia.edu/pub/linux/ubuntu/archive xenial/universe amd64 aufs-tools amd64 1:3.2+20130722-1.1ubuntu1 [92.9 kB] Get:2 http://mirror.cc.columbia.edu/pub/linux/ubuntu/archive xenial/universe amd64 cgroupfs-mount all 1.2 [4,970 B] Get:3 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 docker-engine amd64 1.11.2-0~xenial [14.5 MB] Fetched 14.6 MB in 7s (2,047 kB/s) Selecting previously unselected package aufs-tools. (Reading database ... 427978 files and directories currently installed.) Preparing to unpack .../aufs-tools_1%3a3.2+20130722-1.1ubuntu1_amd64.deb ... Unpacking aufs-tools (1:3.2+20130722-1.1ubuntu1) ... Selecting previously unselected package cgroupfs-mount. Preparing to unpack .../cgroupfs-mount_1.2_all.deb ... Unpacking cgroupfs-mount (1.2) ... Selecting previously unselected package docker-engine. Preparing to unpack .../docker-engine_1.11.2-0~xenial_amd64.deb ... Unpacking docker-engine (1.11.2-0~xenial) ... Processing triggers for libc-bin (2.23-0ubuntu3) ... Processing triggers for man-db (2.7.5-1) ... Processing triggers for ureadahead (0.100.0-19) ... Processing triggers for systemd (229-4ubuntu6) ... Setting up aufs-tools (1:3.2+20130722-1.1ubuntu1) ... Setting up cgroupfs-mount (1.2) ... Setting up docker-engine (1.11.2-0~xenial) ... Processing triggers for libc-bin (2.23-0ubuntu3) ... Processing triggers for systemd (229-4ubuntu6) ... Processing triggers for ureadahead (0.100.0-19) ... + sudo -E sh -c docker version Client: Version: 1.11.2 API version: 1.23 Go version: go1.5.4 Git commit: b9f10c9 Built: Wed Jun 1 22:00:43 2016 OS/Arch: linux/amd64 Server: Version: 1.11.2 API version: 1.23 Go version: go1.5.4 Git commit: b9f10c9 Built: Wed Jun 1 22:00:43 2016 OS/Arch: linux/amd64 If you would like to use Docker as a non-root user, you should now consider adding your user to the "docker" group with something like: sudo usermod -aG docker stens Remember that you will have to log out and back in for this to take effect! 

这里是基本的详细安装说明,你可以看到捆绑到上述技术…上面一个class轮给你相同的:

https://docs.docker.com/engine/installation/linux/ubuntulinux/

一旦安装,你可以看到什么docker包安装发行

 dpkg -l|grep docker ii docker-engine 1.11.2-0~xenial amd64 Docker: the open-source application container engine 

现在,Docker更新将在您发布时继续安装

 sudo apt-get update sudo apt-get upgrade 

看一眼

  ls -latr /etc/apt/sources.list.d/*docker* -rw-r--r-- 1 root root 202 Jun 23 10:01 /etc/apt/sources.list.d/docker.list.save -rw-r--r-- 1 root root 71 Jul 4 11:32 /etc/apt/sources.list.d/docker.list cat /etc/apt/sources.list.d/docker.list deb [arch=amd64] https://apt.dockerproject.org/repo ubuntu-xenial main 
 sudo apt-get install docker 

是Ubuntu上的一个不同的库。

使用sudo apt-get install docker.io来安装正确的sudo apt-get install docker.io

设置储藏室

对于Ubuntu 14.04 / 16.04 / 16.10 / 17.04:

 sudo add-apt-repository "deb [arch=amd64] \ https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" 

对于Ubuntu 17.10:

 sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu zesty stable" 

添加Docker的官方GPG密钥:

 $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - 

然后安装

 $ sudo apt-get update && sudo apt-get -y install docker-ce 

用sudo运行你的Docker命令:

 sudo docker <your command> 

正如文档所述 :

docker守护进程绑定到Unix套接字而不是TCP端口。 默认情况下,Unix套接字由用户root拥有,其他用户只能使用sudo访问它。 docker守护程序始终以root用户身份运行。

如果您不想在使用docker命令时使用sudo,请创build一个名为docker的Unix组并添加用户。 当docker守护进程启动时,它将使docker组可读写的Unix套接字的所有权。