- 当要使用 docker api 查询信息的时候,我们需要修改 docker 的配置文件,添加一条 OPTIONS 来使得 api 功能可以使用,请把添加的 OPTIONS 参数以文本形式提交到答题框。
Vi /etc/sysconfig/docker
OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375'
- 在 server 节点使用 netstat 命令查询仓库监听端口号,查询完毕后通过 lsof
命令(如命令不存在则手工安装)查询使用此端口号的进程。将以上所有操作命
令和输出结果以文本形式提交到答题框。
Netstat
Lsof -i:端口号
- 在 server 节点通过 netstat 命令(如命令不存在则手工安装)查询 docker镜像仓库 PID,使用 top 命令查询上一步查询到的 PID 的资源使用情况。将以上所有操作命令和输出结果以文本形式提交到答题框。
[root@registry ~]
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 724/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 802/master
tcp6 0 0 :::5000 :::* LISTEN 21423/docker-proxy
tcp6 0 0 :::22 :::* LISTEN 724/sshd
tcp6 0 0 ::1:25 :::* LISTEN 802/master
[root@registry ~]
top - 07:26:24 up 35 days, 3:06, 1 user, load average: 0.00, 0.01, 0.05
Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 2049396 total, 118648 free, 127892 used, 1802856 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 1721968 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
21423 root 20 0 253880 16520 7592 S 0.0 0.8 2:57.51 exe
- 在 server 节点通过 docker 命令查询 docker registry 容器最后几条日志,将以上所有操作命令和输出结果以文本形式提交到答题框。
docker logs -f -t --tail X 71f37b7d7a59
- 在 server 节点,查询 rancher/server 容器的进程号,建立命名空间/var/run/netns 并与 rancher/server 容器进行连接,通过 ip netns 相关命令查询该容器的 ip,将以上操作命令及检查结果填入答题框。
[root@server opt]
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
71f37b7d7a59 271f7878a277 "/usr/bin/s6-svscan /" About an hour ago Up About an hour 3306/tcp, 0.0.0.0:80->8080/tcp tender_carson
[root@server opt]
1951
[root@server opt]
[root@server opt]
[root@server opt]
1951
[root@server opt]
1: lo: ,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
4: eth0: ,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.2/16 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::42:acff:fe11:2/64 scope link
valid_lft forever preferred_lft forever
[root@server opt]
- 在 server 节点查询当前 cgroup 的挂载情况,将以上操作命令及检查结果填入答题框。
[root@registry ~]
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/net_cls type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
- 在 server 节点创建 memory 控制的 cgroup,名称为:xiandian,创建完成后将当前进程移动到这个 cgroup 中,通过 cat 相关命令查询 cgroup 中的进程 ID,将以上操作命令及检查结果填入答题框。
5759
10:hugetlb:/
9:perf_event:/
8:blkio:/system.slice/sshd.service
7:net_cls:/
6:freezer:/
5:devices:/system.slice/sshd.service
4:memory:/xiandian
3:cpuacct,cpu:/system.slice/sshd.service
2:cpuset:/
1:name=systemd:/system.slice/sshd.service
- 在 server 节点创建 cpu 控制的 cgroup,名称为:xiandian。假设存在进程号为 8888 的进程一直占用 cpu,并且达到 100%,严重影响系统的正常运行。使用cgroup 相关知识在创建的 cgroup 中将此进程操作 cpu 配额调整为 30%。将以上操作命令及检查结果填入答题框。
- 在 server 节点使用 nginx 镜像创建一个容器,只能使用特定的内核,镜像使用 nginx:latest,并通过查看 cgroup 相关文件查看内核使用情况,将以上操作命令及检查结果填入答题框(提示,首先要修改 cpuset.cpus 的参数)。
[root@server images]
6f377e734d407649f8c2703eb336a145a88cd78bdedc077ad1714872b6406514
[root@registry ~]
- 在 server 节点创建目录,创建完成后启动镜像为 nginx:latest 的容器,并指定此目录为容器启动的数据卷,创建完成后通过 inspect 命令指定查看数据卷的情况。将以上操作命令及检查结果填入答题框。
Docker run -itd -v /opt nginx:latest
Docker inspect -f ‘{{.config.volXXXXX}}’ PID
- 在 server 节点创建目录,创建完成后启动镜像为 nginx:latest 的容器,并指定此目录为容器数据卷/opt 的挂载目录,设置该数据卷为只读模式,创建完成后通过 inspect 命令指定查看 HostConfig 内的 Binds 情况。将以上操作命令及检查结果填入答题框。
Docker run -itd -v /opt:/opt:ro nginx:latest
Docker inspect -f ‘{{.HostConfig.Binds}}’ PID
- 在 server 节点使用 docker 相关命令使用 mysql:8.0 镜像创建名为 mysqldb的容器,使用镜像 nginx:latest 创建名为 nginxweb 容器,容器连接 mysqldb 容器内数据库,操作完成后使用 inspect 查看有关链接内容的字段,将以上操作命令及检查结果填入答题框。
[/mysqldb:/nginxweb/db]
- 在 server 节点通过 bridge 命令(如果不存在则安装该命令 bridge-utils)查看网桥列表,将以上操作命令及检查结果填入答题框。
[root@server ~]
bridge name bridge id STP enabled interfaces
docker0 8000.0242231def18 no veth9f7c884
vethce03e4b
vethd762e8b
- 在 server 节点创建 xd_br 网桥,设立网络的网络地址和掩码为192.168.2.1/24,创建完成后启动该网桥,完成后查看 xd_br 网卡和网桥详细信息,将以上操作命令及检查结果填入答题框。
bridge name bridge id STP enabled interfaces
docker0 8000.02421af76ad0 no veth35b7a00
veth643076f
vethde11f52
xd_br 8000.000000000000 no
xd_br: flags=4098,MULTICAST> mtu 1500
inet 192.168.2.1 netmask 255.255.255.0 broadcast 0.0.0.0
ether 7e:cb:e4:ca:78:54 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
- 在 server 节点利用 nginx:latest 镜像运行一个无网络环境的容器,使用inspect 命令只查看该容器的 networks 信息,将以上操作命令及返回结果以文本形式填入答题框。
- 在 client 节点拉取 mysql:8.0 镜像,拉取完成后查询 docker 镜像列表目录,将以上操作命令及检查结果填入答题框。
[root@server ~]
Trying to pull repository 192.168.200.12:5000/mariadb ...
latest: Pulling from 192.168.200.12:5000/mariadb
386a066cd84a: Pull complete
827c8d62b332: Pull complete
de135f87677c: Pull complete
05822f26ca6e: Pull complete
ad65f56a251e: Pull complete
d71752ae05f3: Pull complete
87cb39e409d0: Pull complete
8e300615ba09: Pull complete
411bb8b40c58: Pull complete
f38e00663fa6: Pull complete
7b8e0ed6d4af: Pull complete
9a599d94dc41: Pull complete
Digest: sha256:7f9f59d0009c2c0b1a3446ef832bc4a46b64d17963aa1adf590b2793a9f95ceb
Status: Downloaded newer image for 192.168.200.12:5000/mariadb:latest
[root@server ~]
REPOSITORY TAG IMAGE ID CREATED SIZE
192.168.200.12:5000/mariadb
latest 66498efd6bd8 4 months ago 389.9 MB
- 在 server 节点运行 mysql:8.0 镜像,设置数据库密码为 xd_root,将宿主机13306 端口作为容器 3306 端口映射,进入容器后创建数据库 xd_db,创建用户xiandian,密码为 xd_pass,将此用户对 xd_db 拥有所有权限和允许此用户远程访问,完成后使用 xiandian 用户远程登录数据库查询数据库内的数据库列表,将以上操作命令及检查结果以文本形式填入答题框。
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 10.1.19-MariaDB-1~jessie mariadb.org binary distribution
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create database xd_db;
Query OK, 1 row affected (0.01 sec)
MariaDB [(none)]> grant all privileges on xd_db.* to 'xiandian'@'%' identified by 'xd_pass';
Query OK, 0 rows affected (0.00 sec)
+--------------------+
| Database |
+--------------------+
| information_schema |
| xd_db |
+--------------------+
- 在 server 节点将 mysql 镜像导出,导出名称为 mysql_images.tar,放在/media
目录下,导出后,查看目录,将以上操作命令及检查结果以文本形式填入答题框。
[root@server ~]
- 在 server 节点,运行数据库容器,设置数据库密码,使用镜像为mysql:8.0,运行之后,使用命令将容器导出,导出名称为 mysql_container.tar,放在/media目录下,导出后,查看目录,将以上操作命令及检查结果以文本形式填入答题框。
[root@server ~]
Unable to find image 'mysql:8.0' locally
Trying to pull repository 192.168.200.107:5000/mysql ...
8.0: Pulling from 192.168.200.107:5000/mysql
f49cf87b52c1: Pull complete
78032de49d65: Pull complete
837546b20bc4: Pull complete
9b8316af6cc6: Pull complete
1056cf29b9f1: Pull complete
86f3913b029a: Pull complete
88ee0a67381b: Pull complete
03bcb8298f42: Pull complete
e7f60b590748: Pull complete
0dca38a0e6a0: Pull complete
87c6d825c7b1: Pull complete
Digest: sha256:c6a388006b8f706b031279a0102c3b454d9cbee74390a84f3735769f3070d07b
d6ea46d9d53b4d1127c10b4eac24187dce13f5e4a6cab42e9ee477e86e5cf711
[root@server ~]
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d6ea46d9d53b mysql:8.0 "docker-entrypoint.sh" About a minute ago Up About a minute 0.0.0.0:32769->3306/tcp furious_jones
de2c442f79fb nginx:latest "nginx -g 'daemon off" 5 minutes ago Up 5 minutes 0.0.0.0:32768->80/tcp xiandian-dir
f6eb503cf7b7 rancher/server:v1.6.5 "/usr/bin/entry /usr/" 4 days ago Up 4 days 3306/tcp, 0.0.0.0:8080->8080/tcp fervent_golick
[root@server ~]
[root@server ~]
mysql_container.tar
- 在 server 节点将 tomcat_latest.tar 镜像导入,并打标签,上传至仓库中,将以上操作命令及检查结果以文本形式填入答题框。
Docker load .tar
Docker tag
Docker push
Docker images
- 在server节点运行mysql容器,使用镜像为mysql:8.0指定mysql密码,容器运行在后台,使用随机映射端口,容器运行完成后查询容器列表,将以上操作命令及检查结果以文本形式填入答题框。
Docker ps -a
- 在server节点运行mysql容器,使用镜像为mysql:8.0指定mysql密码,容器运行在后台,使用随机映射端口,容器运行完成后查询容器列表,然后将运行的 mysql 容器停止,完成后查询容器状态,将以上操作命令及检查结果以文本形式填入答题框。
Docker ps -a
docker images
Docker stop PID
Docker ps -a
- 在 server 节点,将上题停止的容器启动运行,完成后查询容器状态,将操作命令及返回结果以文本形式提交到答题框。
Docker start PID
Dcker ps -a
- 在 server 节点,将运行的 mysql 容器重启,将以上操作命令及检查结果以文本形式填入答题框。
Docker restart mysql
Docker ps
- 在 server 节点,执行一条命令使用 exec 获取 rancher/server 容器正在运行的网络套接字连接情况,将以上操作命令及检查结果以文本形式填入答题框。
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN -
tcp6 0 0 :::8080 :::* LISTEN 142/websocket-proxy
tcp6 0 0 :::8081 :::* LISTEN 8/java
tcp6 0 0 :::8088 :::* LISTEN 149/rancher-catalog
- 在 server 节点,使用 inspect 只查询 rancher/server 容器的 NetworkSettings内 Networks 网桥信息,将以上操作命令及检查结果以文本形式填入答题框。
- 在 server 节点,使用 inspect 只查询 rancher/server 容器的 PortBindings 信息,将以上操作命令及检查结果以文本形式填入答题框。
- 在 server 节点,使用 inspect 只查询 rancher/server 容器的 NetworkSettings内 Ports 信息,将以上操作命令及检查结果以文本形式填入答题框。
- 在 server 节点,使用 inspect 只查询 rancher/server 镜像的 Volumes 卷组信息,将以上操作命令及检查结果以文本形式填入答题框。
map[/var/lib/cattle:{} /var/lib/mysql:{} /var/log/mysql:{}]
- 在 server 节点,使用 inspect 只查询 rancher/server 镜像的 Entrypoint 信息,将以上操作命令及检查结果以文本形式填入答题框。
- 在 server 节点,使用 docker 命令查询 rancher/server 容器的进程,将以上操作命令及检查结果以文本形式填入答题框。
docker top CONTAINERID
- 在 server 节点,使用 docker 命令查列出 rancher/server 容器内发生变化的文件和目录,将以上操作命令及检查结果以文本形式填入答题框。
C /run
C /run/mysqld
C /run/mysqld/mysqld.pid
C /run/mysqld/mysqld.sock
C /service
C /service/cattle
C /service/cattle/supervise
C /service/cattle/supervise/status
C /service/mysql
C /service/mysql/supervise
C /service/mysql/supervise/status
C /service/mysql/supervise/control
C /usr
C /usr/local
C /usr/local/bin
A /usr/local/bin/docker-machine-driver-packet
C /root
C /root/.bash_history
C /etc
C /etc/mysql
C /etc/mysql/my.cnf
C /tmp
C /tmp/hsperfdata_root
C /tmp/hsperfdata_root/8
A /tmp/jetty-0.0.0.0-8081-58488b81592773dcae114770406e3e1b-_-any-2649025364052028092.dir
- 在 server 节点,使用 docker 命令查看最后退出的容器的 ID,将以上操作命令及检查结果以文本形式填入答题框。
[root@server ~]
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
563d755fc48f nginx:latest "nginx -g 'daemon off" 15 hours ago Up 11 minutes 80/tcp, 0.0.0.0:1000->1000/tcp my
- 在 server 节点,将运行的 mysql 容器创建为镜像,完成后查询该镜像,将以上操作命令及检查结果以文本形式填入答题框。
REPOSITORY TAG IMAGE ID CREATED SIZE
mariadb_new latest b8d391717ee1 6 seconds ago 389.9 MB
- 在 server 节点查询 registry 容器的 CPU、内存等统计信息,将以上操作命令及检查结果以文本形式填入答题框。
CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O
940568599bb2 0.00% 155.4 MB / 2.099 GB 7.40% 276.5 kB / 131.5 MB 151.8 MB / 0 B
- 在 server 节点修改运行的 rancher/server 容器的名称,修改名称为xiandian_server,完成后查询容器列表,将以上操作命令及检查结果以文本形式填入答题框。
docker rename rancher/server xiandian_server
docker ps -a
- 在 server 节点,使用 docker 命令列举所有的网络,将以上操作命令及检查结果以文本形式填入答题框。
NETWORK ID NAME DRIVER
98f6f49a08a9 host host
f1924f102406 bridge bridge
f4b61dd01d6d none null
- 在 server 节点,使用docker命令查询bridge网络的所有详情,将以上操作命令及检查结果填入答题框。
[root@server ~]
- 在 server 节点,使用 docker 命令创建名为 xd_net 的网络,网络网段为192.168.3.0/24,网关为 192.168.3.1,创建完成后查询网络列表,将以上操作命令及检查结果以文本形式填入答题框。
- 在 server 节点,使用 docker 命令创建名为 xd_net 的网络,网络网段为192.168.3.0/24,网关为 192.168.3.1,创建完成后查询此网络的详细信息,将以上操作命令及检查结果以文本形式填入答题框。
[
{
"Name": "xd_net",
"Id": "ffa150e538894f9c2a4e8e9a53f716a5a8ad86ea1b61aff3f9971e48c1e25588",
"Scope": "local",
"Driver": "bridge",
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "192.168.3.0/24",
"IPRange": "192.168.3.0/24",
"Gateway": "192.168.3.1"
}
]
},
"Containers": {},
"Options": {}
}
]
- 在 server 节点,使用 docker 命令创建名为 xd_net 的网络,网络网段为192.168.3.0/24,网关为 192.168.3.1,创建镜像为 centos:latest,容器名称为 centos,使用 docker 网络为 xd_net,创建完成后查询容器使用的网络名称和查询该容器的运行状态,将以上操作命令及检查结果以文本形式填入答题框。
map[xd_net:0xc8200ba0c0]
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
35058aa35fa5 ubuntu:14.04.3 "/bin/bash" 2 minutes ago Up 2 minutes ubuntu
- 在 server 节点,使用 docker 命令创建名为 xd_net 的网络,网络网段为192.168.3.0/24,网关为 192.168.3.1,创建镜像为 centos:latest,容器名称为 centos,使用 docker 网络为 xd_net,创建完成后查询容器 IP 地址,将以上操作命令及检查结果以文本形式填入答题框。
{ [] [] ffa150e538894f9c2a4e8e9a53f716a5a8ad86ea1b61aff3f9971e48c1e25588 88bc9e7aaf5c6faee35378df37964a078bd6b7dbf658a63b4f718d88ef56e01f 192.168.3.1 192.168.3.2 24 0 02:42:c0:a8:03:02}
- 在 server 节点,使用 docker 命令创建名为 xd_net 的网络,网络网段为192.168.3.0/24,网关为 192.168.3.1,创建完成后,查询网络列表,接着删除 docker网络 xd_net,完成后查询 docker 网络列表,将以上操作命令及检查结果以文本形式填入答题框。
NETWORK ID NAME DRIVER
f4b61dd01d6d none null
98f6f49a08a9 host host
f1924f102406 bridge bridge
- 在 server 节点,使用 docker 命令只列举 rancher/server 容器的端口映射状态,将以上操作命令及检查结果以文本形式填入答题框。
Docker port f4b61dd01d6d
- 在 server 节点,使用 docker 命令打印 rancher/server 镜像的大小,将以上操作命令及检查结果以文本形式填入答题框。
- 在 server 节点,使用 docker 命令运行 centos 镜像,运行输出打印“Hello world”,将以上操作命令及检查结果以文本形式填入答题框。
Hello world
- 在 server 节点,使用 docker 命令运行 centos 镜像,运行输出打印“Hello world”,要求启动命令包含打印完成后自动删除此容器及产生的数据,将以上操作命令及检查结果以文本形式填入答题框。
Hello world
- 在 server 节点,使用 docker 命令将 rancher/server 容器内的/opt/目录拷贝到宿主机的/media/目录下,将以上操作命令及检查结果以文本形式填入答题框。
- 在 server 节点,使用 docker 命令将当前操作系统的 yum 源的 local.repo文件拷贝到 rancher/server 容器内的/opt/目录下。完成后使用 exec 命令查询容器的/opt 目录下的所有文件列表,将以上操作命令及检查结果以文本形式填入答题框。
- 在 server 节点,使用 docker 查询当前系统使用的卷组信息,将以上操作命令及检查结果以文本形式填入答题框
- 在 server 节点,使用 centos:latest 的镜像创建容器,容器挂载使用创建的xd_volume 卷组挂载到 root 分区,完成后通过 inspect 指定查看容器的挂载情况,将以上操作命令及检查结果以文本形式填入答题框。
Mkdir /xd_volume
Docker run -itdP -v /xd_volume:/root centos:latest
Docker inspect -f ‘{{.config.volume}}’ xxxxxxxxxxx
DRIVER VOLUME NAME
local 0f272e99d983c52b7a1099b47158f261a3c8ed3b69ad6857980328bb37469c25
local a4d71a18abf39258d66bd22e444d0b3740b1d09284035f0987d6faf4ee78ec17
local a94e079509a6e13d69989d6a3b1bd478640cd57e47de1147939ee5dca68fbc6e
local 1211eb76e9d7f6302cb2a17de5a0a1077df10d069d35bb30dc11bf515d64e15f
- 使用 supermin5 命令(若命令不存在则自己安装)构建 centos7 系统的docker 镜像,镜像名称为 centos-7,镜像预装 yum、net-tools、initscripts 和 vi 命令,构建完成后提交镜像仓库上传操作,并查看此镜像,将以上操作命令及检查结果以文本形式填入答题框。
supermin5 -v --prepare bash yum net-tools initscripts vi coreutils -o supermin.d
bash-4.2
Derived from Red Hat Enterprise Linux 7.1 (Source)
REPOSITORY TAG IMAGE ID CREATED SIZE
192.168.200.12:5000/centos-7 latest e40242986ac3 3 minutes ago 258.1 MB
- 编写以上题构建的 centos-7 镜像为基础镜像,构建 http 服务,Dockerfile要求删除镜像的 yum 源,使用当前系统的 yum 源文件,完成后安装 http 服务,此镜像要求暴露 80 端口。构建的镜像名字叫 http:v1.0。完成后查看 Dockerfile文件并查看镜像列表,将以上操作命令及检查结果以文本形式填入答题框。
[root@server nginx]
FROM 10.0.6.126:5000/centos-7:latest
MAINTAINER Xiandian
RUN rm -fv /etc/yum.repos.d/*
ADD local.repo /etc/yum.repos.d/
RUN yum install -y httpd
EXPOSE 80
[root@server nginx]
[root@server nginx]
REPOSITORY TAG IMAGE ID CREATED SIZE
10.0.6.126:5000/httpd v1.0 a41a37cb9467 6 minutes ago 554.2 MB
- 编写以上题构建的 centos-7 镜像为基础镜像,构建数据库服务,Dockerfile要求删除镜像的 yum 源,使用当前系统的 yum 源文件,完成后安装 mariadb 服务,使用 mysql 用户初始化数据库,添加 MYSQL_USER=xiandian、MYSQL_PASS=xiandian 环境变量,要求数据库支持中文,暴露端口 3306,容器开机运行 mysqld_safe 命令,完成后启动创建的镜像并查询 Dockerfile 文件,进入容器查看容器的数据库列表,将以上操作命令及检查结果以文本形式填入答题框。
FROM 192.168.200.107:5000/centos:latest
MAINTAINER Xiandian
RUN rm -fv /etc/yum.repos.d/*
ADD local.repo /etc/yum.repos.d/
RUN yum clean all
RUN yum install -y mariadb mariadb-server
ENV LC_ALL en_US.utf8
ENV MYSQL_USER xiandian
ENV MYSQL_PASS xiandian
EXPOSE 3306
CMD /usr/bin/mysqld_safe run
- 编写以上题构建的 centos-7 镜像为基础镜像,构建 Tomcat 服务,Dockerfile要求删除镜像的 yum 源,使用当前系统的 yum 源文件,安装 java 和 unzip 服务,将提供的 apache-tomcat.zip 文件添加到/root/目录下,暴露端口 8080,将提供的index.html 文件添加到 tomcat 的网页运行的目录下,容器开机运行 catalina.sh 脚本,完成后查询 Dockerfile 文件,查询镜像列表,将以上操作命令及检查结果以文本形式填入答题框。
FROM 192.168.200.12:5000/centos-7
MAINTAINER Xiandian
RUN rm -fv /etc/yum.repos.d/*
ADD local.repo /etc/yum.repos.d/
RUN yum install -y java unzip
ENV LC_ALL en_US.UTF-8
ADD apache-tomcat.zip /root/apache-tomcat.zip
RUN unzip /root/apache-tomcat.zip -d /root/
EXPOSE 8080
RUN chmod u+x /root/apache-tomcat-6/bin/*
ADD index.html /root/apache-tomcat-6/webapps/ROOT/index.html
ENV CATALINA_HOME /root/apache-tomcat-6
CMD ${CATALINA_HOME}/bin/catalina.sh run
- 在 server 节点通过 docker api 查询 docker 的系统信息,将以上操作命令及检查结果以文本形式填入答题框。
[root@server ~]
- 在 server 节点通过 docker api 查询 docker 的版本,将以上操作命令及检查结果以文本形式填入答题框。
[root@server ~]
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 273 100 273 0 0 1804 0 --:--:-- --:--:-- --:--:-- 1807
{
"ApiVersion": "1.24",
"Arch": "amd64",
"BuildTime": "2018-01-30T09:17:00.069703428+00:00",
"GitCommit": "3e8e77d/1.12.6",
"GoVersion": "go1.8.3",
"KernelVersion": "3.10.0-229.el7.x86_64",
"Os": "linux",
"PkgVersion": "docker-1.12.6-71.git3e8e77d.el7.centos.1.x86_64",
"Version": "1.12.6"
}
- 在 server 节点通过 docker api 查询 docker 内所有容器,将以上操作命令及检查结果以文本形式填入答题框。
[root@server ~]
[{"Id":"f6eb503cf7b7b5074e11de2b77fa6507656e70eabe85050194cd19081facb45f","Names":["/fervent_golick"],"Image":"rancher/server:v1.6.5","ImageID":"sha256:f89070da7581b401a04667ae33e2a6dea560cc43916342e4f128d4a1a025287b","Command":"/usr/bin/entry /usr/bin/s6-svscan /service","Created":1525768870,"Ports":[{"IP":"0.0.0.0","PrivatePort":8080,"PublicPort":8080,"Type":"tcp"},{"PrivatePort":3306,"Type":"tcp"}],"Labels":{},"State":"running","Status":"Up 4 minutes","HostConfig":{"NetworkMode":"default"},"NetworkSettings":{"Networks":{"bridge":{"IPAMConfig":null,"Links":null,"Aliases":null,"NetworkID":"85ad4cb278712b7bed9b46d34fd10a7f63e512e3122e84a9276c769e2a779ab0","EndpointID":"676a1c00df87799942d54affc70e9565dd593e9e42a8783ec2b59d73e0cde757","Gateway":"172.17.0.1","IPAddress":"172.17.0.2","IPPrefixLen":16,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"MacAddress":"02:42:ac:11:00:02"}}},"Mounts":[{"Name":"b9be8311ac49a82ca9755368c5431c67fe065eac17547e741905404cb0cc8f15","Source":"/var/lib/docker/volumes/b9be8311ac49a82ca9755368c5431c67fe065eac17547e741905404cb0cc8f15/_data","Destination":"/var/lib/cattle","Driver":"local","Mode":"","RW":true,"Propagation":""},{"Name":"ee44b72e6030df6d3be4c497276fb77a6ca601c6b8004a43b8700c9a74a8212c","Source":"/var/lib/docker/volumes/ee44b72e6030df6d3be4c497276fb77a6ca601c6b8004a43b8700c9a74a8212c/_data","Destination":"/var/lib/mysql","Driver":"local","Mode":"","RW":true,"Propagation":""},{"Name":"312304393cd5cb08e59e1cba3bedb1300cf5a6c7798be566e5acf83b95ed2e28","Source":"/var/lib/docker/volumes/312304393cd5cb08e59e1cba3bedb1300cf5a6c7798be566e5acf83b95ed2e28/_data","Destination":"/var/log/mysql","Driver":"local","Mode":"","RW":true,"Propagation":""}]}]
- 在 server 节点通过 docker api 查询 docker 内所有镜像,将以上操作命令及检查结果以文本形式填入答题框。
[root@server ~]
[{"Id":"sha256:f89070da7581b401a04667ae33e2a6dea560cc43916342e4f128d4a1a025287b","ParentId":"","RepoTags":["192.168.200.107:5000/rancher/server:v1.6.5"],"RepoDigests":["192.168.200.107:5000/rancher/server@sha256:ff1289d72b6a711f1c205556ab9184e77ec37aa73a339c052dd221682666de92"],"Created":1517195642,"Size":984901875,"VirtualSize":984901875,"Labels":{}},{"Id":"sha256:a92c139758db4c89d0cdeaa641566d0cb3305f9f6d2dbd2ca50dd361c02328da","ParentId":"","RepoTags":["192.168.200.107:5000/tomcat:latest"],"RepoDigests":["192.168.200.107:5000/tomcat@sha256:90b2bee496f433123469c91586b19b6e4b1b0c417356ba0240bdcbea1b474a46"],"Created":1516741810,"Size":557380446,"VirtualSize":557380446,"Labels":null},{"Id":"sha256:3f8a4339aadda5897b744682f5f774dc69991a81af8d715d37a616bb4c99edf5","ParentId":"","RepoTags":["192.168.200.107:5000/nginx:latest"],"RepoDigests":["192.168.200.107:5000/nginx@sha256:926b086e1234b6ae9a11589c4cece66b267890d24d1da388c96dd8795b2ffcfb"],"Created":1514312221,"Size":108472156,"VirtualSize":108472156,"Labels":{"maintainer":"NGINX Docker Maintainers \[email protected]\u003e"}},{"Id":"sha256:26bd364f80bf23283c579400bab4bff2d0cd743fbe0df942ad714fbe50111e5b","ParentId":"","RepoTags":["192.168.200.107:5000/mysql:8.0"],"RepoDigests":["192.168.200.107:5000/mysql@sha256:c6a388006b8f706b031279a0102c3b454d9cbee74390a84f3735769f3070d07b"],"Created":1513045422,"Size":342538968,"VirtualSize":342538968,"Labels":null}]
- 在 server 节点通过 docker api 相关命令查询 rancher/server 镜像的具体信息,将以上操作命令及检查结果以文本形式填入答题框。
- 根据提供的 tomcat 镜像,创建容器,使用该镜像,并创建/root/www1 目录,在 www1 目录下编写 index.jsp 文件,容器的默认项目地址连接到创建的 www1目录,要求访问 tomcat 的时候输出一句话为 this is Tomcat1,最后启动容器,并启动 tomcat 服务,使用 curl 命令查询 tomcat 的首页,将以上操作命令及检查结果以文本形式填入答题框。
mkdir /root/www1
vi /root/www1/index.jsp
Tomcat2</title>
</head>
this is Tomcat1
</body>
</html>
docker run -itdPh tomcat --name tomcat -v /root/www1:/usr/local/tomcat/webapps/ROOT tomcat:latest /bin/bash
docker exec -it tomcat /bin/bash
root@tomcat1:/usr/local/tomcat
root@tomcat1:/usr/local/tomcat/bin
curl http://192.168.200.106:32772
- 在 server 节点,使用 docker 命令查看最近创建的 2 个容器的 id,将以上操作命令及检查结果以文本形式填入答题框。
[root@server ~]
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
563d755fc48f nginx:latest "nginx -g 'daemon off" 15 hours ago Up 8 minutes 80/tcp, 0.0.0.0:1000->1000/tcp my
d32cb7cff76d rancher/server:v1.6.5 "/usr/bin/entry /usr/" 18 hours ago Up 8 minutes 3306/tcp, 0.0.0.0:8081->8080/tcp nauseous_booth