翻译自Docker官方文档

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

之前因为看不懂官方文档,卡在某个步骤无法完成安装。翻译一下安装部分,给自己也希望能给一些同学做参考。

我的英语水平很菜,不足之处请各位斧正。

国内从docker官方下载文件会很慢,耐心等待,有时还会连不上,重试可能会成功。

Ubuntu

Docker 在支持这些Ubuntu操作系统

· Ubuntu Xenial 16.04 (LTS)

· Ubuntu Trusty 14.04 (LTS)

· Ubuntu Precise 12.04 (LTS)

注意:Ubuntu Utopic 14.10和 15.04存在于Docker的APT存储库,但不再是官方长时间支持。

前提条件

Docker 要求安装64位系统,无论是什么Ubuntu版本。此外,你的内核版本不能低于3.10。最新的3.10小版本或更新维护版本也是可以接受的。

3.10内核缺乏运行Docker容器所需的一些特性。这些旧版本在某些情况下已知的一些bug会导致数据丢失和频繁的不稳定。

检查你现在的内核版本,打开终端使用uname -r去显示你的内核版本:

  1. $ uname -r
  2. 3.11.0-15-generic

注意:如果你以前使用APT安装过Docker,确保你更新了你的APT Docker来源库。

升级你的apt来源库

Docker的APT库包含Docker 1.7.1和更高的版本。设置APT使用的程序包含来自Docker库:

1. 以sudo或root特权模式登入的的机器。

2. 打开一个终端窗口。

3. 升级包信息,确保APT使用https的方法工作,与安装CA证书。

  1. $ sudo apt-get update
  2. $ sudo apt-get install apt-transport-https ca-certificates

4. 添加新的GPG key

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

5. 找到你的Ubuntu操作系统的条目,它决定了APT将搜索的包。可能的项:

Ubuntu version

Repository

Precise 12.04 (LTS)

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

Trusty 14.04 (LTS)

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

Xenial 16.04 (LTS)

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

6. 运行以下命令,将占位符<REPO>替换为您的操作系统的条目(Repository)

  1. $ echo "<REPO>" | sudo tee /etc/apt/sources.list.d/docker.list

例如:Ubuntu 16.04使用如下命令:

  1. $ echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" | sudo tee /etc/apt/sources.list.d/docker.list

7. 升级APT包索引

  1. $ sudo apt-get update

8. 验证APT从正确的库拉取。

运行下面的命令时,将返回每个可供您安装的Docker版本的条目。每个条目应该有URL   https://apt.dockerproject.org/repo/。当前安装的版本使用*
* *标记。下面是截断的输出。

  1. $ apt-cache policy docker-engine
  2. docker-engine:
  3. Installed: 1.12.2-0~trusty
  4. Candidate: 1.12.2-0~trusty
  5. Version table:
  6. *** 1.12.2-0~trusty 0
  7. 500 https://apt.dockerproject.org/repo/ ubuntu-trusty/main amd64 Packages
  8. 100 /var/lib/dpkg/status
  9. 1.12.1-0~trusty 0
  10. 500 https://apt.dockerproject.org/repo/ ubuntu-trusty/main amd64 Packages
  11. 1.12.0-0~trusty 0
  12. 500 https://apt.dockerproject.org/repo/ ubuntu-trusty/main amd64 Packages
  13. 1.11.2-0~trusty 0
  14. 500 https://apt.dockerproject.org/repo/ ubuntu-trusty/main amd64 Packages
  15. 1.11.1-0~trusty 0
  16. 500 https://apt.dockerproject.org/repo/ ubuntu-trusty/main amd64 Packages

从现在起,当你运行apt-get upgrade,APT从新的库拉取。

各Ubuntu版本的必备条件

· Ubuntu Xenial 16.04 (LTS)

· Ubuntu Trusty 14.04 (LTS)

对于Ubuntu Trusty和Xenial,建议安装Linux-image-extra-* 内核包。这些linux-image-extra-* 包允许你使用aufs存储驱动。

安装linux-image-extra-*包:

1.在你的Ubuntu主机打开一个终端

2.升级你的包管理器

  1. $ sudo apt-get update

3.安装建议的包

  1. $ sudo apt-get install linux-image-extra-$(uname -r) linux-image-extra-virtual

4.继续安装Docker

Ubuntu Precise 12.04 (LTS)

对于Ubuntu Precise
,Docker要求3.13内核版本。如果你的内核版本低于3.13,你必须升级它。参考这个表看哪些包是你的环境需要的:

Package

Description

linux-image-generic-lts-trusty

Generic Linux kernel image. This kernel has AUFS built in. This is required to run Docker.

linux-headers-generic-lts-trusty

Allows packages such as ZFS and VirtualBox guest additions which
depend on them. If you didn't install the headers for your existing
kernel, then you can skip these headers for the"trusty" kernel. If
you're unsure, you should include this package for safety.

xserver-xorg-lts-trusty

Optional in non-graphical environments without Unity/Xorg. Required when running Docker on machine with a graphical environment.

libgl1-mesa-glx-lts-trusty

To learn more about the reasons for these packages, read the installation instructions for backported kernels, specifically theLTS Enablement Stack — refer to
note 5 under each version.

升级您的内核和安装额外的包,执行以下操作:

1. 在你的Ubuntu主机打开一个终端

2. 升级你的包管理器

  1. $ sudo apt-get update

3. 安装必需和可选包

  1. $ sudo apt-get install linux-image-generic-lts-trusty

取决于您的环境,您可能安装上表中所描述的。

4. 重启你的主机

  1. $ sudo reboot

5. 你的系统重启后,继续安装Docker

安装

确保你的Ubuntu版本完成了对应必备条件的准备:

然后,执行以下操作安装Docker:

1. 作为sudo特权用户登入你的Ubuntu进行安装

2. 升级你的APT包索引

  1. $ sudo apt-get update

3. 安装Docker

  1. $ sudo apt-get install docker-engine

4. 启动docker守护进程

  1. $ sudo service docker start

5. 确认docker安装正确

  1. $ sudo docker run hello-world

此命令将下载一个测试镜像并在一个容器里运行它,当容器运行,它打印一个消息性信息。然后退出。

创建用户组docker,可以避免使用sudo
将docker和linuxidc(王小雷用户名,在创建主机时默认用户名称是ubuntu)添加到一个组内

#默认是ubuntu用户
#linuxidc@linuxidc.com:~$ sudo usermod -aG docker ubuntu
# 将linuxidc的用户添加到docker用户组中,如果多个用户需要用空格隔开 如 linuxidc wxl1 wxl2用户
linuxidc@linuxidc.com:~$ sudo usermod -aG docker linuxidc

注意需要重新启动计算机或者注销用户再登入,才能生效。这样就不需要使用sudo命令了。
那么,如何将linuxidc从docker用户组移除?
sudo gpasswd -d linuxidc docker
如何删除刚才创建的docker用户组?
sudo groupdel docker
如何创建和删除新用户,如用户newuser
sudo adduser newuser
sudo userdel newuser

Ubuntu安装Docker(官方文档翻译)的更多相关文章

  1. ubuntu安装docker以及基本用法

    ubuntu安装docker以及基本用法 一.安装 安装前先更新apt-get源到最新版本 apt-get update 使用ubuntu自带的docker安装包安装docker apt-get in ...

  2. ubuntu 安装 docker 并配置镜像加速(使用 apt-get 进行安装)

    ubuntu 安装docker CentOS docker安装 https://blog.csdn.net/weixin_44953227/article/details/108597310 你需要这 ...

  3. Ubuntu安装docker笔记

    前言   根据参考文档简单记录Ubuntu系统安装docker的步骤 系统版本 panzi@ubuntu:~$ cat /etc/issue Ubuntu 16.04.5 LTS \n \l 移除旧版 ...

  4. 总结关于Ubuntu 安装 Docker 配置相关问题及解决方法

    总结关于Ubuntu 安装 Docker 配置相关问题及解决方法 Tomcat 示例 软件镜像(xx安装程序)----运行镜像----产生一个容器(正在运行的软件,运行的xx): 步骤: 1.搜索镜像 ...

  5. Docker笔记--ubuntu安装docker

    Docker笔记--ubuntu安装docker 1.更换国内软件源,推荐中国科技大学的源,稳定速度快(可选) sudo cp /etc/apt/sources.list /etc/apt/sourc ...

  6. 【1】ubuntu 安装docker

    官方支持安装docker的Ubuntu版本: ubuntu trusty 14.04(LTS) (64位) ubuntu precise 12.04(LTS) (64位) ubuntu raring ...

  7. Ubuntu 安装 Docker CE(社区版)

    参考自 https://yeasy.gitbooks.io/docker_practice/install/ubuntu.html#ubuntu-1604- docker-io 是以前早期的版本,版本 ...

  8. ubuntu安装docker{ubuntu16.04下安装docker}

       一.开始安装 第一步:   由于apt官方库里的docker版本可能比较旧,所以先卸载可能存在的旧版本: $ sudo apt-get remove docker docker-engine d ...

  9. Ubuntu 安装 Docker CE

    注:本文转载自<Docker入门> 警告:切勿在没有配置 Docker APT 源的情况下直接使用 apt 命令安装 Docker. 准备工作 系统要求 Docker CE 支持以下版本的 ...

随机推荐

  1. 为什么说String是线程安全的

    String是final修饰的类,是不可变的,所以是线程安全的. 一.Java String类为什么是final的? 1.为了实现字符串池 2.为了线程安全 3.为了实现String可以创建HashC ...

  2. ajax前后端交互原理(4)

    4.JSON 4.1 什么是JSON? JavaScript 对象表示法(JavaScript Object Notation)简称JSON,是一种轻量级的数据交换格式.虽然它基于JavaScript ...

  3. LeetCode第29场双周赛题解

    第一题 用一个新数组newSalary保存去掉最低和最高工资的工资列表,然后遍历newSalary,计算总和,除以元素个数,就得到了平均值. class Solution { public: doub ...

  4. 《UNIX环境高级编程》(APUE) 笔记第三章 - 文件I/O

    3 - 文件I/O Github 地址 1. 文件描述符 对于内核而言,所有打开的文件都通过 文件描述符 (file descriptor) 引用.当打开一个现有文件或创建一个新文件时,内核向进程返回 ...

  5. pandas | 使用pandas进行数据处理——Series篇

    本文始发于个人公众号:TechFlow,原创不易,求个关注 上周我们关于Python中科学计算库Numpy的介绍就结束了,今天我们开始介绍一个新的常用的计算工具库,它就是大名鼎鼎的Pandas. Pa ...

  6. Spring 容器的初始化

    读完这篇文章你将会收获到 了解到 Spring 容器初始化流程 ThreadLocal 在 Spring 中的最佳实践 面试中回答 Spring 容器初始化流程 引言 我们先从一个简单常见的代码入手分 ...

  7. tomcat配置项目虚拟路径

    tomcat版本:apache-tomcat-7.0.42 参考:http://blog.csdn.net/pangdingshan/article/details/7214786 一.虚拟根目录 1 ...

  8. python-循环-两种方法实现九九乘法表

    方法一:用最基本的while循环嵌套(基础时,便于理解) while循环的嵌套,先执行里边的,再执行外边的 i = 1 while i <= 9: j = 1 while j <= i: ...

  9. POJ3190贪心

    题意:这里有N只 (1 <= N <= 50,000) 挑剔的奶牛! 他们如此挑剔以致于必须在[A,B]的时间内产奶(1 <= A <= B <= 1,000,000)当 ...

  10. request.headers.get头部获取内容的缺失

    1.说明 今天遇到了一个小坑,在做权限控制的时候,用头部传递了参数取名为table_privilege_id, 在本地测试的时候是可以接到这个参数的,但是通过ngxin转发之后,奇怪了,怎么也拿不到这 ...