6月6日docker操作题

一、使用xserver1节点,自行配置YUM源,安装docker服务(需要用到的包为xserver1节点/root目录下的Docker.tar.gz)。安装完服务后,将registry_latest.tar上传到xserver1节点中并配置为私有仓库。要求启动registry容器时,将内部保存文件的目录映射到外部的/opt/registry目录,将内部的5000端口映射到外部5000端口。依次将启动registry容器的命令及返回结果、执行docker info命令的返回结果以文本形式提交到答题框。

1.配置yum源

[root@localhost ~]# tar -zxvf Docker.tar.gz
[root@localhost ~]# cd /etc/yum.repo.d
[root@localhost yum.repos.d]# mkdir /repo
[root@localhost yum.repos.d]# mv * /repo
[root@localhost yum.repos.d]# vi local.repo
[docker]
baseurl=file:///root/Docker
gpgcheck=0
enabled=1

[c7]
baseurl=file:///cdrom
gpgcheck=0
enabled=1
[root@localhost yum.repos.d]# mkdir /cdrom
[root@localhost yum.repos.d]# mount /dev/sr0 /cdrom

2.升级内核(不升级不能启用路由转发,升级完毕重启虚拟机)

[root@localhost ~]# yum upgrade -y
[root@localhost ~]# reboot

3.关闭防火墙

[root@localhost ~]# systemctl stop firewalld && systemctl disable firewalld
[root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
[root@localhost ~]# setenforce 0

4.路由转发

[root@localhost ~]# vi /etc/sysctl.conf
net.ipv4.ip_forward=1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
[root@localhost ~]# modprobe br_netfilter    #没有升级内核此处会not found
[root@localhost ~]# sysctl -p

5.安装docker

[root@localhost ~]# yum install -y yum-utils device-mapper-persistent- data
[root@localhost ~]# yum install docker-ce-18.09.6 docker-ce-cli-18.09.6 containerd.io -y
[root@localhost ~]# systemctl start docker
[root@localhost ~]# systemctl enable docker
[root@localhost ~]# docker info

6.私有仓库

[root@localhost ~]# ./image.sh
[root@localhost ~]# docker run -itd --rm -v /opt/registry:/var/lib/registry -p 5000:5000 registry:latest
[root@localhost ~]# vi /etc/docker/daemon.json
{
                        #192.168.1.32为xserver1的ip
"insecure-registries": ["192.168.1.32:5000"]
"registry-mirrors": ["https://6pebc8pn.mirror.aliyuncs.com"]     
}
[root@localhost ~]# curl 192.168.1.32:5000/v2/_catalog
{"repositories":[]}     #返回的结果是这样即连上私有仓库

提交的截图或命令

 

 二、假设当前存在docker镜像mysql:latest,将该镜像上传至本地,然后将该镜像推送至本地仓库(假设仓库地址为192.168.100.100:5000),从私有仓库中拉取mariadb:v10.3.18镜像。运行mysql镜像,要求将内部3306端口映射到外部的13306端口,提供交互接口,后台运行,容器名为xmysql。最后将mysql镜像和创建的容器删除。依次提交操作命令。

1.载入mysql镜像

[root@localhost ~]# ls
anaconda-ks.cfg  mysql_image.tar
[root@localhost ~]# docker load -i mysql_image.tar
Loaded image: docker.io/mysql:latest

2.推送至本地仓库

[root@localhost ~]# docker tag mysql:latest 192.168.1.32:5000/mariadb:v10.3.18
[root@localhost ~]# docker push 192.168.1.32:5000/mariadb:v10.3.18
The push refers to a repository [192.168.1.32:5000/mariadb]
d67a9f3f6569: Pushed
fc8a043a3c75: Pushed
118fee5d988a: Pushed
c654c2afcbba: Pushed
1d1f48e448f9: Pushed
aad27784b762: Pushed
0d17fee8db40: Pushed
d7a777f6c3a4: Pushed
a0c2a050fee2: Pushed
0798f2528e83: Pushed
fba7b131c5c3: Pushed
ad6b69b54919: Pushed
v10.3.18: digest: sha256:238cf050a7270dd6940602e70f1e5a11eeaf4e02035f445b7f613ff5e0641f7d size: 2828
[root@localhost ~]# curl 192.168.1.32:5000/v2/_catalog
{"repositories":["mariadb"]}

3.拉取mariadb:v10.3.18镜像(到xserver2节点)

[root@localhost ~]# docker pull 192.168.1.32:5000/mariadb:v10.3.18
Trying to pull repository 192.168.1.32:5000/mariadb ...
v10.3.18: Pulling from 192.168.1.32:5000/mariadb
72a69066d2fe: Pull complete
93619dbc5b36: Pull complete
99da31dd6142: Pull complete
626033c43d70: Pull complete
37d5d7efb64e: Pull complete
ac563158d721: Pull complete
d2ba16033dad: Pull complete
688ba7d5c01a: Pull complete
00e060b6d11d: Pull complete
1c04857f594f: Pull complete
4d7cfa90e6ea: Pull complete
e0431212d27d: Pull complete
Digest: sha256:238cf050a7270dd6940602e70f1e5a11eeaf4e02035f445b7f613ff5e0641f7d
Status: Downloaded newer image for 192.168.1.32:5000/mariadb:v10.3.18
[root@localhost ~]# docker images
REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
192.168.1.32:5000/mariadb   v10.3.18            3218b38490ce        5 months ago        516 MB
[root@localhost ~]#

4.运行mysql实例

[root@localhost ~]# docker run --name xmysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -p 13306:3306 -itd mysql
d9d35a4efe186676bf6d06c2b138484cc14f9561ceb84024e6a0948806929c14
[root@localhost ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                NAMES
d9d35a4efe18        mysql               "docker-entrypoint..."   1 second ago        Up 1 second         33060/tcp, 0.0.0.0:13306->3306/tcp   xmysql
e24de99e4c38        registry:latest     "/entrypoint.sh /e..."   2 weeks ago         Up 15 minutes       0.0.0.0:5000->5000/tcp               registry

5.删除

[root@localhost ~]# docker stop] d9d35a4efe18
docker: 'stop]' is not a docker command.
See 'docker --help'
[root@localhost ~]# docker stop d9d35a4efe18
d9d35a4efe18
[root@localhost ~]# docker rm d9d35a4efe18
d9d35a4efe18
[root@localhost ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
e24de99e4c38        registry:latest     "/entrypoint.sh /e..."   2 weeks ago         Up 17 minutes       0.0.0.0:5000->5000/tcp   registry
[root@localhost ~]# docker rmi mysql
Untagged: mysql:latest
Untagged: 192.168.1.32:5000/mariadb@sha256:238cf050a7270dd6940602e70f1e5a11eeaf4e02035f445b7f613ff5e0641f7d
Untagged: docker.io/mysql@sha256:e9027fe4d91c0153429607251656806cc784e914937271037f7738bd5b8e7709

每一步都提交

三、使用xserver1节点,上传nginx_latest.tar到xserver1节点中,然后将该镜像打标签,上传至私有仓库。使用xserver2节点,自行安装docker服务,配置xserver2节点使用xserver1的私有仓库,配置完毕后,在xserver2节点拉取nginx_latest.tar镜像。最后将在xserver2上执行docker images命令返回的结果以文本形式提交到答题框。

 1.上传至私有仓库       

[root@localhost ~]# docker tag nginx 192.168.1.32:5000/nginx
[root@localhost ~]# docker push 192.168.1.32:5000/nginx
The push refers to a repository [192.168.1.32:5000/nginx]
a059c9abe376: Pull complete
09be960dcde4: Pull complete
18be1897f940: Pull complete
dfe7577521f0: Pull complete
d253f69cb991: Pull complete
fd95118eade9: Pull complete
latest: digest: sha256:b495f952df67472c3598b260f4b2e2ba9b5a8b0af837575cf4369c95c8d8a215 size: 1570

2.拉取nginx镜像

[root@localhost ~]# docker pull 192.168.1.32:5000/nginx
Using default tag: latest
Trying to pull repository 192.168.1.32:5000/nginx ...
latest: Pulling from 192.168.1.32:5000/nginx
214ca5fb9032: Pull complete
66eec13bb714: Pull complete
17cb812420e3: Pull complete
56fbf79cae7a: Pull complete
c4547ad15a20: Pull complete
d31373136b98: Pull complete
Digest: sha256:b495f952df67472c3598b260f4b2e2ba9b5a8b0af837575cf4369c95c8d8a215
Status: Downloaded newer image for 192.168.1.32:5000/nginx:latest

提交的截图或代码

四、假设当前存在docker镜像tomcat:latest,现在将tomcat镜像导出,导出名称为tomcat_images.tar,放在/media目录下,将以上操作命令填入答题框。

1.获取镜像

[root@localhost ~]# docker pull tomcat
Using default tag: latest
Trying to pull repository docker.io/library/tomcat ...
latest: Pulling from docker.io/library/tomcat
e756f3fdd6a3: Pull complete
bf168a674899: Pull complete
e604223835cc: Pull complete
6d5c91c4cd86: Pull complete
5e20d165240e: Pull complete
1334d60df9a8: Pull complete
16c2728dcd90: Pull complete
05288798d23d: Pull complete
c022dc2b2581: Pull complete
d86ac2f896ee: Pull complete
Digest: sha256:b4e84cff017ff5202cb760ccb1373dd950158f926d6afb04bd5e9f7337291501
Status: Downloaded newer image for docker.io/tomcat:latest

2.导出镜像

[root@localhost ~]# docker save tomcat > /media/tomcat_images.tar
[root@localhost ~]# ls /media/
tomcat_images.tar

 每一步都提交

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值