Ubuntu 下 docker 的安装。

docker 和 vagrant 之前一直有听说。但是没有需求所以就没用过。这两者的介绍就不说了,主要的区别,我个人理解的很浅:


docker 是一个容器,用于隔离程序应用,主体的受益对象是应用。而 vagrant 是开发的时候用于将开发环境打包的一个软件。
vagrant 的受益是开发人员。


在 CSDN 上看到这一段话,写的比较简单易懂。摘自 刘春明的博客。

通常对于Python开发来讲,我们可以借助virtualenv来建立彼此独立的开发环境。比如应用程序A依赖 Python2.7,而应用程序 B 依赖 Python3.5。我们可以分别建立两个 virtualenv,其中一个安装 python2.7,另外一个安装 python3.5。之后我们就可以在各自的虚拟环境中进行开发了。貌似, viertualenv完美解决了不同程序的环境依赖问题。可是,真的是这样吗?

想象一下,我们在开发环境搭建了一套 virtualenv,如果部署到生产环境中,还需要再生产环境再部署一套完全一样的 virtualenv,对不对?而且还需要在主机上安装必要的软件才能建立虚拟环境。

利用 Docker 就可以解决这个问题。Docker 不但可以做到在同一台主机上开发时建立不同的环境,还可以将建立的 Docker 镜像搬到其他不同的主机上,而不需要再次安装环境就可以运行程序。这样就可以保证开发、测试、生产环境的服务器上的环境完全一致。

正题

如果直接安装 apt install docker,不会报错但是实际会用不了

apt install docker

Reading package lists... Done
Building dependency tree       
Reading state information... Done
docker is already the newest version (1.5-1).
0 upgraded, 0 newly installed, 0 to remove and 93 not upgraded.
~ service docker start
Failed to start docker.service: Unit docker.service not found.

注意:!

如果 Ubuntu 的内核版本太低,需要先升级版本,具体可以在命令行输入 uname -r 来查看。假如内核版本小于 3.10,就需要更新。具体的更新如下:

  1. 打开主机命令窗口.

  2. 更新包管理器. $ sudo apt-get update

  3. 安装必需包和可选包 $ sudo apt-get install linux-image-generic-lts-trusty

  4. 重启主机. $ sudo reboot 重启之后, 继续安装Docker.

如果内核 version 大于3.10请无视上述,从这里开始。

更新apt,确保使用 HTTPS 协议,同时 CA 证书已被安装。

sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates

添加新的GPGkey

sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

创建 /etc/apt/sources.list.d/docker.list.写入以下内容

deb https://apt.dockerproject.org/repo ubuntu-xenial main

清除旧的 repo.

sudo apt-get purge lxc-docker

更新 apt

sudo apt-get update

然后,确保 APT 是从正确的代码库拉取下来的.

apt-cache policy docker-engine

最后安装 docker 引擎

sudo apt-get install docker-engine

测试是否能启动

service docker start

sudo docker run hello-world

出现,安装成功

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/engine/userguide/

本文来自:慕容小凡 https://www.cnblogs.com/zzcit/p/5845717.html

你可能感兴趣的:(Ubuntu 下 docker 的安装。)