增加 设置容器自启动 方法.
Signed-off-by: lion.chan <cy187lion@sina.com>
This commit is contained in:
parent
e459cea0f0
commit
d0e5997239
|
@ -11,7 +11,7 @@ categories: ["Software"]
|
||||||
published: true
|
published: true
|
||||||
---
|
---
|
||||||
|
|
||||||
## 1.安装
|
## 1. 安装
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Ubuntu
|
# Ubuntu
|
||||||
|
@ -20,7 +20,7 @@ sudo apt install docker.io
|
||||||
sudo pacman -S docker
|
sudo pacman -S docker
|
||||||
```
|
```
|
||||||
|
|
||||||
## 2.干掉讨厌的 sudo
|
## 2. 干掉讨厌的 sudo
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 如果还没有 docker group 就添加一个
|
# 如果还没有 docker group 就添加一个
|
||||||
|
@ -36,11 +36,11 @@ newgrp docker
|
||||||
pkill X
|
pkill X
|
||||||
```
|
```
|
||||||
|
|
||||||
## 3.使用镜像源
|
## 3. 使用镜像源
|
||||||
|
|
||||||
以 USTC 镜像源为例。
|
以 USTC 镜像源为例。
|
||||||
|
|
||||||
### 3.1.使用 upstart 的系统
|
### 3.1. 使用 upstart 的系统
|
||||||
|
|
||||||
在配置文件 /etc/default/docker 中的 DOCKER_OPTS 中配置 Hub 地址:
|
在配置文件 /etc/default/docker 中的 DOCKER_OPTS 中配置 Hub 地址:
|
||||||
|
|
||||||
|
@ -54,7 +54,7 @@ DOCKER_OPTS="--registry-mirror=https://docker.mirrors.ustc.edu.cn/"
|
||||||
sudo service docker restart
|
sudo service docker restart
|
||||||
```
|
```
|
||||||
|
|
||||||
### 3.2.使用 systemd 的系统
|
### 3.2. 使用 systemd 的系统
|
||||||
|
|
||||||
在 /etc/docker 下创建 daemon.json 文件,修改其内容并重启启动 docker 相关服务:
|
在 /etc/docker 下创建 daemon.json 文件,修改其内容并重启启动 docker 相关服务:
|
||||||
|
|
||||||
|
@ -70,7 +70,7 @@ sudo systemctl daemon-reload
|
||||||
sudo systemctl restart docker
|
sudo systemctl restart docker
|
||||||
```
|
```
|
||||||
|
|
||||||
## 4.基本使用
|
## 4. 基本使用
|
||||||
|
|
||||||
Docker 的主要管理对象是镜像和容器,镜像是静态对象,保存了分层的用户数据;而容器是动态对象,可以看作镜像的运行状态,容器主要包容了 root fs。二者的关系如同程序文件与进程的关系。必须使用镜像来创建容器,一旦 Docker 加载并运行了某镜像,就为之创建一个与之对应的容器,容器至少有 stop 和 run 两个状态。使用 run 命令通过镜像创建容器后,该容器处于 run 状态,使用 exit 命令脱离容器后,容器处于 stop 状态。可以使用 start 命令将处于 stop 状态的容器再次运行起来。
|
Docker 的主要管理对象是镜像和容器,镜像是静态对象,保存了分层的用户数据;而容器是动态对象,可以看作镜像的运行状态,容器主要包容了 root fs。二者的关系如同程序文件与进程的关系。必须使用镜像来创建容器,一旦 Docker 加载并运行了某镜像,就为之创建一个与之对应的容器,容器至少有 stop 和 run 两个状态。使用 run 命令通过镜像创建容器后,该容器处于 run 状态,使用 exit 命令脱离容器后,容器处于 stop 状态。可以使用 start 命令将处于 stop 状态的容器再次运行起来。
|
||||||
|
|
||||||
|
@ -123,7 +123,7 @@ docker import <tar file> <repository>:<tag>
|
||||||
|
|
||||||
想要退出但不关闭容器,在容器中按下 Ctrl + P + Q 组合健即可.
|
想要退出但不关闭容器,在容器中按下 Ctrl + P + Q 组合健即可.
|
||||||
|
|
||||||
### 4.1.容器操作
|
### 4.1. 容器操作
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 获得容器信息
|
# 获得容器信息
|
||||||
|
@ -138,7 +138,7 @@ docker container rm <container id>
|
||||||
docker container rename <current name> <new name>
|
docker container rename <current name> <new name>
|
||||||
```
|
```
|
||||||
|
|
||||||
### 4.2.镜像操作
|
### 4.2. 镜像操作
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 获得镜像信息
|
# 获得镜像信息
|
||||||
|
@ -151,9 +151,9 @@ docker tag <image name/id> <repository>:<tag>
|
||||||
docker image rm <image name/id>
|
docker image rm <image name/id>
|
||||||
```
|
```
|
||||||
|
|
||||||
## 5.网络模式说明
|
## 5. 网络模式说明
|
||||||
|
|
||||||
### 5.1.bridge 模式
|
### 5.1. bridge 模式
|
||||||
|
|
||||||
Docker 容器默认使用 bridge 模式的网络。其特点如下:
|
Docker 容器默认使用 bridge 模式的网络。其特点如下:
|
||||||
|
|
||||||
|
@ -165,7 +165,7 @@ Docker 容器默认使用 bridge 模式的网络。其特点如下:
|
||||||
* NAT 模式由于是在三层网络上的实现手段,故肯定会影响网络的传输效率。
|
* NAT 模式由于是在三层网络上的实现手段,故肯定会影响网络的传输效率。
|
||||||
* 容器拥有独立、隔离的网络栈;让容器和宿主机以外的世界通过 NAT 建立通信。
|
* 容器拥有独立、隔离的网络栈;让容器和宿主机以外的世界通过 NAT 建立通信。
|
||||||
|
|
||||||
### 5.2.host 模式
|
### 5.2. host 模式
|
||||||
|
|
||||||
Host 模式并没有为容器创建一个隔离的网络环境。而之所以称之为 host 模式,是因为该模式下的 Docker 容器会和 host 宿主机共享同一个网络 namespace,故 Docker Container 可以和宿主机一样,使用宿主机的 eth0,实现和外界的通信。换言之,Docker Container 的 IP 地址即为宿主机 eth0 的 IP 地址。其特点包括:
|
Host 模式并没有为容器创建一个隔离的网络环境。而之所以称之为 host 模式,是因为该模式下的 Docker 容器会和 host 宿主机共享同一个网络 namespace,故 Docker Container 可以和宿主机一样,使用宿主机的 eth0,实现和外界的通信。换言之,Docker Container 的 IP 地址即为宿主机 eth0 的 IP 地址。其特点包括:
|
||||||
|
|
||||||
|
@ -174,22 +174,32 @@ Host 模式并没有为容器创建一个隔离的网络环境。而之所以称
|
||||||
* 需要注意容器中服务的端口号不能与 Docker host 上已经使用的端口号相冲突
|
* 需要注意容器中服务的端口号不能与 Docker host 上已经使用的端口号相冲突
|
||||||
* host 模式能够和其它模式共存
|
* host 模式能够和其它模式共存
|
||||||
|
|
||||||
### 5.3.container 模式
|
### 5.3. container 模式
|
||||||
|
|
||||||
Container 网络模式是 Docker 中一种较为特别的网络的模式。处于这个模式下的 Docker 容器会共享其他容器的网络环境,因此,至少这两个容器之间不存在网络隔离,而这两个容器又与宿主机以及除此之外其他的容器存在网络隔离。
|
Container 网络模式是 Docker 中一种较为特别的网络的模式。处于这个模式下的 Docker 容器会共享其他容器的网络环境,因此,至少这两个容器之间不存在网络隔离,而这两个容器又与宿主机以及除此之外其他的容器存在网络隔离。
|
||||||
|
|
||||||
### 5.4.none 模式
|
### 5.4. none 模式
|
||||||
|
|
||||||
网络模式为 none,即不为 Docker 容器构造任何网络环境。一旦 Docker 容器采用了none 网络模式,那么容器内部就只能使用 loopback 网络设备,不会再有其他的网络资源。Docker Container 的 none 网络模式意味着不给该容器创建任何网络环境,容器只能使用 127.0.0.1 的本机网络。
|
网络模式为 none,即不为 Docker 容器构造任何网络环境。一旦 Docker 容器采用了none 网络模式,那么容器内部就只能使用 loopback 网络设备,不会再有其他的网络资源。Docker Container 的 none 网络模式意味着不给该容器创建任何网络环境,容器只能使用 127.0.0.1 的本机网络。
|
||||||
|
|
||||||
## 6.查看 Docker run 启动参数
|
## 6. 查看 Docker run 启动参数
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
pip install runlike
|
pip install runlike
|
||||||
runlike -p <container name/id>
|
runlike -p <container name/id>
|
||||||
```
|
```
|
||||||
|
|
||||||
## 7.常用镜像
|
## 7. 设置容器自启动
|
||||||
|
|
||||||
|
1. 使用 docker run 命令运行时增加 --restart=always 参数即可;
|
||||||
|
2. 使用 docker-compose 命令运行时在 yml 文件中,需要自启动的 service 下增加 restart: always 项目即可;
|
||||||
|
3. 已运行的容器修改其自启动策略,执行命令:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker container update --restart=<no|on-failure|always> <container name/id>
|
||||||
|
```
|
||||||
|
|
||||||
|
## 8. 常用镜像
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Ubuntu
|
# Ubuntu
|
||||||
|
|
Loading…
Reference in New Issue