Docker课堂实验手册(二)

上一篇文章 中,练习在 Ubuntu Server 18.04 中安装了 Docker, 在本次实验中,主要让大家练习 Docker 的一些常用命令。

使用 info 命令查看配置信息

执行:

1
docker info

系统显示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Client:
Debug Mode: false

Server:
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 19.03.1
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk s yslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 894b81a4b802e4eb2a91d1ce216b8817763c29fb
runc version: 425e105d5a03fabd737a126ad93d62a9eeede87f
init version: fec3683
Security Options:
apparmor
seccomp
Profile: default
Kernel Version: 4.15.0-58-generic
Operating System: Ubuntu 18.04.3 LTS
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 1.924GiB
Name: kmaster
ID: MMAL:HBWC:OL6A:KFVG:ZJ5U:VLA6:G36V:X5C3:G2AJ:5GDE:FL7R:RHXO
Docker Root Dir: /var/lib/docker
Debug Mode: false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false

WARNING: No swap limit support

可以看到,现在使用的官方的镜像源(Registry项),但官方的镜像源在国内访问速度比较慢,所以我们先换成国内的镜像源

编辑或新增(如果不存在)/etc/docker/daemon.json 文件

1
sudo vi /etc/docker/daemon.json

将以下内容加入到文件中:

1
2
3
4
5
{
"registry-mirrors": [
"https://registry.docker-cn.com"
]
}

保存以后,需要重启 docker 服务,

1
sudo systemctl restart docker

再执行 info 命令,就可以看到刚加入的镜像源网站了。

1
sudo info

系统输出:

1
2
3
4
...
Registry Mirrors:
https://registry.docker-cn.com/
...

参考当前镜像(image)列表

执行 images 命令,查看当前以下载的镜像列表

1
docker images

系统显示:

1
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

可以看到,当前还没有将任何镜像下载到本地。

在镜像源中查找镜像

在官方镜像源 - docker hub 中,有全球docker使用者自作的各种镜像,可以通过 docker search 命令查找符合条件的镜像。命令格式如下:

1
docker search <关键字>

比如要查找 alpine 相关的镜像,就可以执行:

1
docker search alpine

如果网络正常,系统会显示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
NAME                                   DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
alpine A minimal Docker image based on Alpine Linux… 5613 [OK]
mhart/alpine-node Minimal Node.js built on Alpine Linux 440
anapsix/alpine-java Oracle Java 8 (and 7) with GLIBC 2.28 over A… 421 [OK]
frolvlad/alpine-glibc Alpine Docker image with glibc (~12MB) 210 [OK]
gliderlabs/alpine Image based on Alpine Linux will help you wi… 180
mvertes/alpine-mongo light MongoDB container 105 [OK]
alpine/git A simple git container running in alpine li… 98 [OK]
yobasystems/alpine-mariadb MariaDB running on Alpine Linux [docker] [am… 48 [OK]
kiasaki/alpine-postgres PostgreSQL docker image based on Alpine Linux 44 [OK]
alpine/socat Run socat command in alpine container 36 [OK]
davidcaste/alpine-tomcat Apache Tomcat 7/8 using Oracle Java 7/8 with… 36 [OK]
zzrot/alpine-caddy Caddy Server Docker Container running on Alp… 35 [OK]
easypi/alpine-arm AlpineLinux for RaspberryPi 32
byrnedo/alpine-curl Alpine linux with curl installed and set as … 26 [OK]
jfloff/alpine-python A small, more complete, Python Docker image … 26 [OK]
hermsi/alpine-sshd Dockerize your OpenSSH-server with rsync and… 24 [OK]
etopian/alpine-php-wordpress Alpine WordPress Nginx PHP-FPM WP-CLI 21 [OK]
hermsi/alpine-fpm-php Dockerize your FPM PHP 7.4 upon a lightweigh… 19 [OK]
bashell/alpine-bash Alpine Linux with /bin/bash as a default she… 14 [OK]
zenika/alpine-chrome Chrome running in headless mode in a tiny Al… 13 [OK]
davidcaste/alpine-java-unlimited-jce Oracle Java 8 (and 7) with GLIBC 2.21 over A… 13 [OK]
tenstartups/alpine Alpine linux base docker image with useful p… 9 [OK]
spotify/alpine Alpine image with `bash` and `curl`. 9 [OK]
rawmind/alpine-traefik This image is the traefik base. It comes fro… 5 [OK]
hermsi/alpine-varnish Dockerize Varnish upon a lightweight alpine-… 1 [OK]

可以看到返回的信息中包括了: 镜像名称,描述,是否官方自作 等信息。

从像源中拉取镜像

要从镜像源中将自定的镜像拉取到本地,可以执行 pull 命令:

1
docker pull <镜像名>[:标签]

标签默认为: latest

我们练习拉取 search 命令查询的的官方 alpine 镜像,则执行:

1
docker pull alpine

系统显示:

1
2
3
4
5
6
Using default tag: latest
latest: Pulling from library/alpine
9d48c3bd43c5: Pull complete
Digest: sha256:72c42ed48c3a2db31b7dafe17d275b634664a708d901ec9fd57b1529280f01fb
Status: Downloaded newer image for alpine:latest
docker.io/library/alpine:latest

执行 images 命令,可以查看已经拉取到本地的镜像

1
docker images

系统显示

1
2
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
alpine latest 961769676411 2 weeks ago 5.58MB

本文标题:Docker课堂实验手册(二)

文章作者:梅老师

发布时间:2019年08月31日 - 22:08

最后更新:2020年09月16日 - 08:09

原始链接:https://www.mls-tech.info/docker/docker-practice-manual-2/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。