@@ -31,7 +31,8 @@ Docker 是一个开源的应用容器引擎,而一个<ruby>容器<rt>container
31
31
- [ Docker私有仓库搭建] ( #docker私有仓库搭建 )
32
32
- [ ` registry ` ] ( #registry )
33
33
- [ ` Harbor ` ] ( #harbor )
34
- - [ 使用Docker实战] ( #使用docker实战 )
34
+ - [ 使用 Docker 实战] ( #使用docker实战 )
35
+ - [ Docker REST API] ( #docker-rest-api )
35
36
- [ ` Nginx ` ] ( #nginx )
36
37
- [ ` MySQL ` ] ( #mysql )
37
38
- [ ` PostgreSQL ` ] ( #postgres )
@@ -107,12 +108,12 @@ sudo yum install docker-ce
107
108
108
109
``` bash
109
110
$ yum list docker-ce --showduplicates | sort -r
110
- # docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable
111
- # docker-ce.x86_64 18.06.1.ce-3.el7 @docker-ce-stable
112
- # docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable
113
- # docker-ce.x86_64 18.03.1.ce-1.el7.centos docker-ce-stable
114
- # docker-ce.x86_64 18.03.0.ce-1.el7.centos docker-ce-stable
115
- # docker-ce.x86_64 17.12.1.ce-1.el7.centos docker-ce-stable
111
+ # docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable
112
+ # docker-ce.x86_64 18.06.1.ce-3.el7 @docker-ce-stable
113
+ # docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable
114
+ # docker-ce.x86_64 18.03.1.ce-1.el7.centos docker-ce-stable
115
+ # docker-ce.x86_64 18.03.0.ce-1.el7.centos docker-ce-stable
116
+ # docker-ce.x86_64 17.12.1.ce-1.el7.centos docker-ce-stable
116
117
# 选择版本安装
117
118
$ sudo yum install docker-ce-< VERSION STRING>
118
119
@@ -141,7 +142,6 @@ pacman -S docker # Arch 中安装
141
142
emerge --ask docker # Gentoo 中安装
142
143
143
144
# =====================
144
-
145
145
docker version # 通过查看版本,检查安装是否成功
146
146
# Client:
147
147
# Version: 1.12.6
@@ -215,7 +215,7 @@ chkconfig docker on # 设置为开机启动
215
215
``` bash
216
216
docker pull centos:latest # 从docker.io中下载centos镜像到本地
217
217
docker images # 查看已下载的镜像
218
- docker rmi [image_id] # 删除镜像,指定镜像id
218
+ docker rmi [image_id] # 删除镜像,指定镜像id
219
219
220
220
# 删除所有镜像
221
221
# none 默认为 docker.io
@@ -353,38 +353,38 @@ docker container cp [containID]:[/path/to/file] .
353
353
354
354
docker run centos echo " hello world" # 在docker容器中运行hello world!
355
355
docker run centos yum install -y wget # 在docker容器中,安装wget软件
356
- docker ps # 列出包括未运行的容器
357
- docker ps -a # 查看所有容器(包括正在运行和已停止的)
358
- docker logs my-nginx # 查看 my-nginx 容器日志
356
+ docker ps # 列出包括未运行的容器
357
+ docker ps -a # 查看所有容器(包括正在运行和已停止的)
358
+ docker logs my-nginx # 查看 my-nginx 容器日志
359
359
360
- docker run -i -t centos /bin/bash # 启动一个容器
361
- docker inspect centos # 检查运行中的镜像
362
- docker commit 8bd centos # 保存对容器的修改
360
+ docker run -i -t centos /bin/bash # 启动一个容器
361
+ docker inspect centos # 检查运行中的镜像
362
+ docker commit 8bd centos # 保存对容器的修改
363
363
docker commit -m " n changed" my-nginx my-nginx-image # 使用已经存在的容器创建一个镜像
364
- docker inspect -f {{.State.Pid}} 44fc0f0582d9 # 获取id为 44fc0f0582d9 的PID进程编号
364
+ docker inspect -f {{.State.Pid}} 44fc0f0582d9 # 获取id为 44fc0f0582d9 的PID进程编号
365
365
# 下载指定版本容器镜像
366
366
docker pull gitlab/gitlab-ce:11.2.3-ce.0
367
367
```
368
368
369
369
### 容器服务管理
370
370
371
371
``` bash
372
- docker run -itd --name my-nginx2 nginx # 通过nginx镜像,【创建】容器名为 my-nginx2 的容器
373
- docker start my-nginx --restart=always # 【启动策略】一个已经存在的容器启动添加策略
374
- # no - 容器不重启
375
- # on-failure - 容器推出状态非0时重启
376
- # always - 始终重启
377
- docker start my-nginx # 【启动】一个已经存在的容器
378
- docker restart my-nginx # 【重启】容器
379
- docker stop my-nginx # 【停止运行】一个容器
380
- docker kill my-nginx # 【杀死】一个运行中的容器
381
- docker rename my-nginx new-nginx # 【重命名】容器
382
- docker rm new-nginx # 【删除】容器
372
+ docker run -itd --name my-nginx2 nginx # 通过nginx镜像,【创建】容器名为 my-nginx2 的容器
373
+ docker start my-nginx --restart=always # 【启动策略】一个已经存在的容器启动添加策略
374
+ # no - 容器不重启
375
+ # on-failure - 容器推出状态非0时重启
376
+ # always - 始终重启
377
+ docker start my-nginx # 【启动】一个已经存在的容器
378
+ docker restart my-nginx # 【重启】容器
379
+ docker stop my-nginx # 【停止运行】一个容器
380
+ docker kill my-nginx # 【杀死】一个运行中的容器
381
+ docker rename my-nginx new-nginx # 【重命名】容器
382
+ docker rm new-nginx # 【删除】容器
383
383
```
384
384
385
385
### 进入容器
386
386
387
- 1 . 创建一个守护状态的Docker容器
387
+ 1 . 创建一个守护状态的 Docker 容器
388
388
389
389
``` bash
390
390
docker run -itd my-nginx /bin/bash
@@ -394,8 +394,8 @@ docker run -itd my-nginx /bin/bash
394
394
395
395
``` bash
396
396
docker ps
397
- # CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
398
- # 6bd0496da64f nginx "/bin/bash" 20 seconds ago Up 18 seconds 80/tcp high_shirley
397
+ # CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
398
+ # 6bd0496da64f nginx "/bin/bash" 20 seconds ago Up 18 seconds 80/tcp high_shirley
399
399
```
400
400
401
401
3 . 使用` docker exec ` 命令进入一个已经在运行的容器
@@ -404,7 +404,7 @@ docker ps
404
404
docker exec -it 6bd0496da64f /bin/bash
405
405
```
406
406
407
- 通常有下面几种方式进入Docker的容器,推荐使用` exec ` ,使用` attach ` 一直进入失败。
407
+ 通常有下面几种方式进入Docker的容器,推荐使用 ` exec ` ,使用 ` attach ` 一直进入失败。
408
408
409
409
- 使用` docker attach `
410
410
- 使用` SSH ` [ 为什么不需要在 Docker 容器中运行 sshd] ( http://www.oschina.net/translate/why-you-dont-need-to-run-sshd-in-docker?cmp )
@@ -416,7 +416,6 @@ docker exec -it 6bd0496da64f /bin/bash
416
416
从主机复制到容器 ` sudo docker cp host_path containerID:container_path `
417
417
从容器复制到主机 ` sudo docker cp containerID:container_path host_path `
418
418
419
-
420
419
## Docker私有仓库搭建
421
420
422
421
通过官方提供的私有仓库镜像` registry ` 来搭建私有仓库。通过 [ humpback] ( https://humpback.github.io ) 快速搭建轻量级的Docker容器云管理平台。关于仓库配置说明请参见[ configuration.md] ( https://github.com/docker/distribution/blob/master/docs/configuration.md )
@@ -466,16 +465,16 @@ docker push 192.168.31.69:5000/test-nginx:1.13
466
465
# Get https://192.168.99.100:7000/v1/_ping: http: server gave HTTP response to HTTPS client
467
466
```
468
467
469
- 在推送到的时候报错误,默认是使用` https ` 提交,这个搭建的默认使用的是 ` http ` ,解决方法两个:
468
+ 在推送到的时候报错误,默认是使用 ` https ` 提交,这个搭建的默认使用的是 ` http ` ,解决方法两个:
470
469
471
- 1 . 创建一个https映射
470
+ 1 . 创建一个 ` https ` 映射
472
471
2 . 将仓库地址加入到不安全的仓库列表中
473
472
474
- 我们使用第二种方法,加入到不安全的仓库列表中,修改docker配置文件` vi /etc/docker/daemon.json ` 添加 ` insecure-registries ` 配置信息,如果 [ daemon.json] ( https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file ) 文件不存在可以创建,关键配置项,将仓库将入到不安全的仓库列表中。
473
+ 我们使用第二种方法,加入到不安全的仓库列表中,修改docker配置文件 ` vi /etc/docker/daemon.json ` 添加 ` insecure-registries ` 配置信息,如果 [ daemon.json] ( https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file ) 文件不存在可以创建,关键配置项,将仓库将入到不安全的仓库列表中。
475
474
476
475
``` js
477
476
{
478
- " insecure-registries" : [
477
+ " insecure-registries" : [
479
478
" 192.168.31.69:5000"
480
479
]
481
480
}
@@ -693,15 +692,15 @@ docker run -d --net=host --restart=always \
693
692
694
693
### ` Seafile `
695
694
696
- ```
695
+ ``` shell
697
696
docker run -d --name seafile \
698
697
-e SEAFILE_SERVER_HOSTNAME=seafile.example.com \
699
698
-v /opt/seafile-data:/shared \
700
699
-p 80:80 \
701
700
seafileltd/seafile:latest
702
701
```
703
702
704
- ```
703
+ ``` shell
705
704
docker run -d --name seafile \
706
705
-e SEAFILE_SERVER_HOSTNAME=pan.showgold.com \
707
706
0 commit comments