ubuntu 14.04,debian 7 and 8 EOL

This commit is contained in:
khs1994 2019-04-29 09:26:29 +08:00
parent 4949de94c4
commit 8576e16b61
No known key found for this signature in database
GPG Key ID: 0A380828B1C243A7
14 changed files with 20 additions and 114 deletions

View File

@ -12,11 +12,9 @@ about: Create a report to help us improve
* [x] Linux
* [x] CentOS 7
* [x] Ubuntu 14.04
* [x] Fedora
* [x] Ubuntu 16.04 +
* [x] Debian 7
* [x] Debian 8 +
* [x] CoreOS
* [x] Debian 9 +
* [x] macOS
* [x] Windows 10
* [x] Raspberry Pi (ARM)

View File

@ -12,11 +12,9 @@ about: Create a issue about Docker
* [x] Linux
* [x] CentOS 7
* [x] Ubuntu 14.04
* [x] Fedora
* [x] Ubuntu 16.04 +
* [x] Debian 7
* [x] Debian 8 +
* [x] CoreOS
* [x] Debian 9 +
* [x] macOS
* [x] Windows 10
* [x] Raspberry Pi (ARM)

View File

@ -3,7 +3,8 @@
* 1.1.0 2019-06-30
* 增加 `BuildKit`
* 增加 `docker manifest` 命令使用说明
* 移除 `Ubuntu 14.04` `Debian 8` `Debian 7`
* 1.0.0: 2018-12-31
* 全面支持 v18.x 新版本
* 添加如何调试 Docker

View File

@ -22,7 +22,7 @@ $sysctl -w net.ipv4.ip_forward=1
#### 访问所有端口
当启动 Docker 服务 dockerd的时候默认会添加一条转发策略到本地主机 iptables FORWARD 链上策略为通过`ACCEPT`还是禁止`DROP`取决于配置`--icc=true`缺省值还是 `--icc=false`当然如果手动指定 `--iptables=false` 则不会添加 `iptables` 规则
可见默认情况下不同容器之间是允许网络互通的如果为了安全考虑可以在 `/etc/docker/daemon.json` 文件中配置 `{"icc": false}` 来禁止它Ubuntu 14.04 等使用 upstart 的系统在文件 `/etc/default/docker` 中配置 `DOCKER_OPTS=--icc=false`
可见默认情况下不同容器之间是允许网络互通的如果为了安全考虑可以在 `/etc/docker/daemon.json` 文件中配置 `{"icc": false}` 来禁止它
#### 访问指定端口
在通过 `-icc=false` 关闭网络访问后还可以通过 `--link=CONTAINER_NAME:ALIAS` 选项来访问容器的开放端口

View File

@ -100,7 +100,7 @@ $ docker run --network=my-net --ip=172.25.3.3 -itd --name=my-container busybox
### Docker 的配置文件放在哪里如何修改配置
使用 `upstart` 的系统 Ubuntu 14.04的配置文件在 `/etc/default/docker`使用 `systemd` 的系统 Ubuntu 16.04Centos 的配置文件在 `/etc/docker/daemon.json`
使用 `systemd` 的系统 Ubuntu 16.04Centos 的配置文件在 `/etc/docker/daemon.json`
### 如何更改 Docker 的默认存储位置

View File

@ -6,7 +6,7 @@
通常一个仓库会包含同一个软件不同版本的镜像而标签就常用于对应该软件的各个版本我们可以通过 `<仓库名>:<标签>` 的格式来指定具体是这个软件哪个版本的镜像如果不给出标签将以 `latest` 作为默认标签
[Ubuntu 镜像](https://hub.docker.com/_/ubuntu) 为例,`ubuntu` 是仓库的名字,其内包含有不同的版本标签,如,`16.04`, `18.04`。我们可以通过 `ubuntu:14.04`,或者 `ubuntu:18.04` 来具体指定所需哪个版本的镜像。如果忽略了标签,比如 `ubuntu`,那将视为 `ubuntu:latest`。
[Ubuntu 镜像](https://hub.docker.com/_/ubuntu) 为例,`ubuntu` 是仓库的名字,其内包含有不同的版本标签,如,`16.04`, `18.04`。我们可以通过 `ubuntu:16.04`,或者 `ubuntu:18.04` 来具体指定所需哪个版本的镜像。如果忽略了标签,比如 `ubuntu`,那将视为 `ubuntu:latest`。
仓库名经常以 *两段式路径* 形式出现比如 `jwilder/nginx-proxy`前者往往意味着 Docker Registry 多用户环境下的用户名后者则往往是对应的软件名但这并非绝对取决于所使用的具体 Docker Registry 的软件或服务

View File

@ -56,7 +56,6 @@ crashsystems/gitlab-docker A trusted, regularly updated build of GitL.
sylvainlasnier/memcached This is a Memcached 1.4.14 docker images b... 16 [OK]
ubuntu-upstart Upstart is an event-based replacement for ... 16 [OK]
mbentley/ubuntu-django-uwsgi-nginx 16 [OK]
ansible/ubuntu14.04-ansible Ubuntu 14.04 LTS with ansible 15 [OK]
clue/ttrss The Tiny Tiny RSS feed reader allows you t... 14 [OK]
dockerfile/ubuntu-desktop Trusted automated Ubuntu Desktop (LXDE) (h... 14 [OK]
tutum/ubuntu Ubuntu image with SSH access. For the root... 12 [OK]

View File

@ -18,5 +18,3 @@ UUID APP IMAGE NAME STATE CREATED STARTED NETWORKS
## 容器管理
第二个组件就是 `Docker`它用来运行你的代码和应用`CoreOS` 内置 `Docker`具体使用请参考本书其他章节
`CoreOS` 也内置了由自己开发的容器 `Rkt``Rkt` 不属于本书的讨论范围这里不再赘述

View File

@ -8,32 +8,33 @@
压缩包可以是本地文件远程 Web 文件甚至是从标准输入中得到压缩包将会在镜像 `/` 目录展开并直接作为镜像第一层提交
比如我们想要创建一个 [OpenVZ](https://openvz.org) 的 Ubuntu 14.04 [模板](https://openvz.org/Download/template/precreated)的镜像:
比如我们想要创建一个 [OpenVZ](https://openvz.org) 的 Ubuntu 16.04 [模板](https://openvz.org/Download/template/precreated)的镜像:
```bash
$ docker import \
http://download.openvz.org/template/precreated/ubuntu-14.04-x86_64-minimal.tar.gz \
openvz/ubuntu:14.04
Downloading from http://download.openvz.org/template/precreated/ubuntu-14.04-x86_64-minimal.tar.gz
sha256:f477a6e18e989839d25223f301ef738b69621c4877600ae6467c4e5289822a79B/78.42 MB
http://download.openvz.org/template/precreated/ubuntu-16.04-x86_64.tar.gz \
openvz/ubuntu:16.04
Downloading from http://download.openvz.org/template/precreated/ubuntu-16.04-x86_64.tar.gz
sha256:412b8fc3e3f786dca0197834a698932b9c51b69bd8cf49e100c35d38c9879213
```
这条命令自动下载了 `ubuntu-14.04-x86_64-minimal.tar.gz` 文件并且作为根文件系统展开导入并保存为镜像 `openvz/ubuntu:14.04`
这条命令自动下载了 `ubuntu-16.04-x86_64.tar.gz` 文件并且作为根文件系统展开导入并保存为镜像 `openvz/ubuntu:16.04`
导入成功后我们可以用 `docker image ls` 看到这个导入的镜像
```bash
$ docker image ls openvz/ubuntu
REPOSITORY TAG IMAGE ID CREATED SIZE
openvz/ubuntu 14.04 f477a6e18e98 55 seconds ago 214.9 MB
openvz/ubuntu 16.04 412b8fc3e3f7 55 seconds ago 505MB
```
如果我们查看其历史的话会看到描述中有导入的文件链接
```bash
$ docker history openvz/ubuntu:14.04
$ docker history openvz/ubuntu:16.04
IMAGE CREATED CREATED BY SIZE COMMENT
f477a6e18e98 About a minute ago 214.9 MB Imported from http://download.openvz.org/template/precreated/ubuntu-14.04-x86_64-minimal.tar.gz
f477a6e18e98 About a minute ago 214.9 MB Imported from http://download.openvz.org/template/precreated/ubuntu-16.04-x86_64.tar.gz
```
### `docker save` `docker load`

View File

@ -10,8 +10,6 @@ Docker CE 支持以下版本的 [Debian](https://www.debian.org/intro/about) 操
* Buster 10
* Stretch 9
* Jessie 8 (LTS) (Docker CE v18.06 及以下版本)
* Wheezy 7.7 (EOL) (Docker CE v18.03 及以下版本)
#### 卸载旧版本
@ -23,16 +21,10 @@ $ sudo apt-get remove docker \
docker.io
```
#### Debian 7 Wheezy
Debian 7 的内核默认为 3.2为了满足 Docker CE 的需求应该安装 [`backports`](https://backports.debian.org/Instructions/) 的内核。
### 使用 APT 安装
由于 apt 源使用 HTTPS 以确保软件下载过程中不被篡改因此我们首先需要添加使用 HTTPS 传输的软件包以及 CA 证书
Debian 8 Jessie 或者 Debian 9 Stretch 使用以下命令:
```bash
$ sudo apt-get update
@ -45,20 +37,6 @@ $ sudo apt-get install \
software-properties-common
```
Debian 7 Wheezy 使用以下命令
```bash
$ sudo apt-get update
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
lsb-release \
python-software-properties
```
鉴于国内网络问题强烈建议使用国内源官方源请在注释中查看
为了确认所下载软件包的合法性需要添加软件源的 GPG 密钥
@ -88,14 +66,6 @@ $ sudo add-apt-repository \
>以上命令会添加稳定版本的 Docker CE APT 如果需要测试或每日构建版本的 Docker CE 请将 stable 改为 test 或者 nightly
Debian 7 需要进行额外的操作
编辑 `/etc/apt/sources.list` deb-src 一行删除或者使用 # 注释
```bash
deb-src [arch=amd64] https://download.docker.com/linux/debian wheezy stable
```
#### 安装 Docker CE
更新 apt 软件包缓存并安装 `docker-ce`
@ -124,12 +94,6 @@ $ sudo systemctl enable docker
$ sudo systemctl start docker
```
Debian 7 Wheezy 请使用以下命令启动
```bash
$ sudo service docker start
```
### 建立 docker 用户组
默认情况下`docker` 命令会使用 [Unix socket](https://en.wikipedia.org/wiki/Unix_domain_socket) 与 Docker 引擎通讯。而只有 `root` 用户和 `docker` 组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑一般 Linux 系统上不会直接使用 `root` 用户。因此,更好地做法是将需要使用 `docker` 的用户加入 `docker` 用户组。

View File

@ -12,20 +12,6 @@
我们以 Docker 官方加速器 `https://registry.docker-cn.com` 为例进行介绍
### Ubuntu 14.04Debian 7 Wheezy
对于使用 [upstart](http://upstart.ubuntu.com/) 的系统而言,编辑 `/etc/default/docker` 文件,在其中的 `DOCKER_OPTS` 中配置加速器地址:
```bash
DOCKER_OPTS="--registry-mirror=https://registry.docker-cn.com"
```
重新启动服务
```bash
$ sudo service docker restart
```
### Ubuntu 16.04+Debian 8+CentOS 7
对于使用 [systemd](https://www.freedesktop.org/wiki/Software/systemd/) 的系统,请在 `/etc/docker/daemon.json` 中写入如下内容(如果文件不存在请新建该文件)

View File

@ -10,7 +10,6 @@ Docker CE 支持以下版本的 [Ubuntu](https://www.ubuntu.com/server) 操作
* Bionic 18.04 (LTS)
* Xenial 16.04 (LTS)
* Trusty 14.04 (LTS) (Docker CE v18.06 及以下版本)
Docker CE 可以安装在 64 位的 x86 平台或 ARM 平台上Ubuntu 发行版中LTSLong-Term-Support长期支持版本会获得 5 年的升级维护支持这样的版本会更稳定因此在生产环境中推荐使用 LTS 版本
@ -24,24 +23,6 @@ $ sudo apt-get remove docker \
docker.io
```
#### Ubuntu 14.04 可选内核模块
Ubuntu 14.04 开始一部分内核模块移到了可选内核模块包 (`linux-image-extra-*`) 以减少内核软件包的体积正常安装的系统应该会包含可选内核模块包而一些裁剪后的系统可能会将其精简掉`AUFS` 内核驱动属于可选内核模块的一部分作为推荐的 Docker 存储层驱动一般建议安装可选内核模块包以使用 `AUFS`
如果系统没有安装可选内核模块的话可以执行下面的命令来安装可选内核模块包
```bash
$ sudo apt-get update
$ sudo apt-get install \
linux-image-extra-$(uname -r) \
linux-image-extra-virtual
```
#### Ubuntu 16.04 +
Ubuntu 16.04 + 上的 Docker CE 默认使用 `overlay2` 存储层驱动,无需手动配置
### 使用 APT 安装
由于 `apt` 源使用 HTTPS 以确保软件下载过程中不被篡改因此我们首先需要添加使用 HTTPS 传输的软件包以及 CA 证书
@ -114,12 +95,6 @@ $ sudo systemctl enable docker
$ sudo systemctl start docker
```
Ubuntu 14.04 请使用以下命令启动
```bash
$ sudo service docker start
```
### 建立 docker 用户组
默认情况下`docker` 命令会使用 [Unix socket](https://en.wikipedia.org/wiki/Unix_domain_socket) 与 Docker 引擎通讯。而只有 `root` 用户和 `docker` 组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑一般 Linux 系统上不会直接使用 `root` 用户。因此,更好地做法是将需要使用 `docker` 的用户加入 `docker` 用户组。

View File

@ -97,20 +97,6 @@ REPOSITORY TAG IMAGE ID CREAT
这是因为 Docker 默认不允许非 `HTTPS` 方式推送镜像我们可以通过 Docker 的配置选项来取消这个限制或者查看下一节配置能够通过 `HTTPS` 访问的私有仓库
#### Ubuntu 14.04, Debian 7 Wheezy
对于使用 `upstart` 的系统而言编辑 `/etc/default/docker` 文件在其中的 `DOCKER_OPTS` 中增加如下内容
```bash
DOCKER_OPTS="--registry-mirror=https://registry.docker-cn.com --insecure-registries=192.168.199.100:5000"
```
重新启动服务
```bash
$ sudo service docker restart
```
#### Ubuntu 16.04+, Debian 8+, centos 7
对于使用 `systemd` 的系统请在 `/etc/docker/daemon.json` 中写入如下内容如果文件不存在请新建该文件

View File

@ -14,7 +14,7 @@ Docker 目前支持的联合文件系统包括 `OverlayFS`, `AUFS`, `Btrfs`, `VF
|Linux 发行版 | Docker 推荐使用的存储驱动 |
| :-- | :-- |
|Docker CE on Ubuntu | `overlay2` (Ubuntu 14.04.4 +, 16.04 +) |
|Docker CE on Ubuntu | `overlay2` (16.04 +) |
|Docker CE on Debian | `overlay2` (Debian Stretch), `aufs`, `devicemapper` |
|Docker CE on CentOS | `overlay2` |
|Docker CE on Fedora | `overlay2` |