资讯专栏INFORMATION COLUMN

[译] [Docker 全程指南] 一. 安装 Docker

ASCH / 1779人阅读

摘要:以下内容主要是针对的安装。这样做的原因是以前的内核版本缺少一些运行容器的必要特性。当容器运行的时候,它会打印出你成功安装的消息。守护进程始终以用户来运行并且绑定了而不是端口。警告用户组或以标志定义的用户组是等同于的。

以下内容主要是针对Debian的安装。

Debian支持

Docker支持以下版本的Debian:

Debian testing stretch (64-bit)

Debian 8.0 Jessie (64-bit)

Debian 7.7 Wheezy (64-bit)

注意:如果你之前安装的Docker使用了 apt,请确认已经将 apt 源升级到了一个比较新的 apt 源。这里的安装方式主要是通过 apt 源来安装,以后Docker有更新的时候,只需要 apt-get update 就行了。所以说才要求更新 apt 源。

安装前提条件

首先,你电脑必须安装了64位的Debian。其次,Linux内核版本最小为3.10,并且3.10或以上版本都可以。

这样做的原因是3.10以前的Linux内核版本缺少一些运行Docker容器的必要特性。并且,在这些老版本内核中发现了一些bug,比如在确认的条件下频繁产生数据异常丢失,这令人非常恐怖!

下一步是检查你当前系统的内核,打开终端并使用 uname -r 来显示你当前系统的内核版本:

$ uname -r
更新你的APT仓库

Docker的 apt 仓库包含了最新版的Docker,目前来说的话是 1.9.1。然后我们使用Docker的官方仓库来配置 apt

1)在搞定这些之前,请确认你的用户名是以 sudoroot 特权模式来操作。

2)打开一个终端窗口。

3)删除你机器上那些老旧的仓库。

$ apt-get purge lxc-docker*
$ apt-get purge docker.io*

4)增加一个新 gpg 密钥。

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

5)用你心爱的编辑器打开 /etc/apt/sources.list.d/docker.list 文件。如果这个文件不存在,那么创建一个(默认会自动创建的)。

6)如果打开了这个文件,首先是移除文件上的所有内容(如果有的话)。

7)增加以下内容中的一个到你的Debian系统。

如果是 Debian Wheezy

https://apt.dockerproject.org/repo debian-wheezy main

如果是 Debian Jessie

deb https://apt.dockerproject.org/repo debian-jessie main

如果是 Debian Stretch/Sid

deb https://apt.dockerproject.org/repo debian-stretch main

8)保存并退出这个文件。

9)更新 apt 包目录。

$ apt-get update

10)确认 apt 能从正确的仓库拉取内容

$ apt-cache policy docker-engine

这条命令的意思是列出 docker-engine软件包缓存的一些关于它的一些包列表,就像一个软件列表,有软件名和版本号。到现在为止,当你运行 apt-get upgrade 之后,apt 会从一个新仓库拉取内容。

安装Docker

安装Docker之前,请确认你已经按照上文描述的样子正确设置了 apt 仓库。

1)更新 apt 包目录。

$ apt-get update

2)安装 Docker

$ apt-get install docker-engine

3)开启 docker 服务

$ service docker start

4)确认 docker 是否正确安装

$ docker run hello-world

这个命令会下载一个测试镜像并在容器中运行它。当容器运行的时候,它会打印出你成功安装的消息。然后自动退出那个容器。

设置docker用户组

这里主要解决在运行 docker 命令的时候需要 root 权限的问题。Docker 守护进程始终以root用户来运行并且绑定了Unix Socket而不是 TCP 端口。默认情况下,Unix Socketroot 用户所拥有,因此,默认情况下你可以用 sudo 来访问它。如果你运行Docker命令出错,请查看是否是以 root 用户来执行的。

警告:Docker 用户组(或以 -G 标志定义的用户组)是等同于 root 的。更多详细信息请查看:Docker Daemon Attack Surface

实现例子:

# 增加一个docker group,如果它不存在的话
$ sudo groupadd docker

# 增加一个用户表中已存在的用户 “${USER}” 到 docker group,
# 这里的 “${USER}” 表示用户名变量,就是你要填入的内容,比如,
# 我的为 `ranwuer`。
# 最后注销再登陆你的用户
$ sudo gpasswd -a ${USER} docker

# 重启Docker进程
$ sudo service docker restart
升级Docker

如果想升级到最新版的Docker,就用 apt-get

$ apt-get upgrade docker-engine
卸载Docker
$ apt-get purge docker-engine
$ apt-get autoremove # 自动删除依赖
$ rm -rf /var/lib/docker

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/26533.html

相关文章

  • 代码级操作指南 | 如何在Docker Swarm中运行服务

    摘要:节点管理器将利用该声明该集群服务。在本示例当中,我们将部署一项服务。此标记用于告知公布端口作为该服务的可用端口。将此称为入口负载均衡。当外部系统调用某项服务时,接收节点会接受流量并利用提供的内部服务对其进行负载均衡。 最新版本Docker Engine v1.12中,包含了多项与Docker Swarm紧密相关的功能变更。在今天的文章中,数人云将和大家探讨如何利用Docker的Swar...

    Winer 评论0 收藏0
  • Cube完结篇:实践指南之CD持续部署

    摘要:本期内容是结合在的持续部署流程,实现从代码至到部署应用至中全自动的持续部署。编写自己的命令如果有困难,可以加群申请源代码示例也可以等近期即将发布的,这样更香。千呼万唤始出来,Cube完结篇来了!今天的内容,是持续部署至Cube掌握前3期教程内容搭配第四期使用,你就是全场最靓的仔!朋友们,来咯!上一期我们用云游戏的演示网站介绍了Java应用如何做成镜像部署至Cube。本期内容是结合Cube A...

    Tecode 评论0 收藏0
  • PHPer书单

    摘要:想提升自己,还得多看书多看书多看书下面是我收集到的一些程序员应该看得书单及在线教程,自己也没有全部看完。共勉吧当然,如果你有好的书想分享给大家的或者觉得书单不合理,可以去通过进行提交。讲师温铭,软件基金会主席,最佳实践作者。 想提升自己,还得多看书!多看书!多看书!下面是我收集到的一些PHP程序员应该看得书单及在线教程,自己也没有全部看完。共勉吧!当然,如果你有好的书想分享给大家的或者...

    jimhs 评论0 收藏0
  • 从小白程序员路晋升为大厂高级技术专家我看过哪些书籍?(建议收藏)

    摘要:大家好,我是冰河有句话叫做投资啥都不如投资自己的回报率高。马上就十一国庆假期了,给小伙伴们分享下,从小白程序员到大厂高级技术专家我看过哪些技术类书籍。 大家好,我是...

    sf_wangchong 评论0 收藏0

发表评论

0条评论

ASCH

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<