一、实验目的
(1) 掌握Docker容器的基本原理。
(2) 创建Docker容器创建与基本操作。
二、实验设计
1、安装
(1)在Linux虚拟中的火狐浏览器中搜索:http://www.docker.com/get-docker

(2)选择Download for Unkown OS (截图未截全,就是上面那张截图的第一个方框下面)菜单列表下的View Linux Engine,选择Docker Engine-Ubuntu(Community):

- 点击Get Docker Engine-Ubuntu(Community)最下方蓝色链接:

- 打开虚拟机终端
- 设置存储器:
分别输入指令:
sudo apt-get update
sudo apt-get install \
ca-certificates \
curl
得到截图:


紧接着输入指令:
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
得到截图:

继续输入指令:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
"deb[arch=(dpkg--print-architecture)signed-by=/usr/share/keyrings/docker-archive-keyring.gpg\]https://download.docker.com/linux/ubuntu\\(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
得到截图:

- 安装docker引擎:
输入指令:
sudo apt-get install docker-ce docker-ce-cli containerd.io
得到截图:

继续输入指令:
Sudo apt-get install docker-ce= 5:19.03.14~3-0~ubuntu-focal docker-ce-cli= 5:19.03.14~3-0~ubuntu-focal
得到截图:

- 运行hello-world
得到截图:

- 设置成管理员权限:
(1)在官网的左边,找到Optional post installation steps

(2)并找到下面截图并圈出的代码部分,一次在虚拟机的终端中输入:
(完成后输入指令就得到了管理员权限,不用输入密码就可以执行了,更加方便)

(3)在虚拟机终端中依次输入上面截图中的四条指令:
得到截图:

- 创建容器:
(1)首先给容器命名:
输入指令代码:
docker container create --name tomcat11 tomcat Unable to find
得到截图:

(2)联网:
输入指令:
docker network create --driver bridge --subnet 192.xxx.xx.xx/16 --gateway 192.xx.xx.1 mynet
docker network ls
得到截图:

(3)运行:
输入指令:
docker run -d -P --name mytomcat11 --net mynet tomcat
(发现报错,提示是name问题,那我们就删除)
删除:
输入指令:
docker rm $(docker ps -a -q)
得到截图:

(7)再次输入指令:
docker run -d -P --name mytomcat11 --net mynet tomcat
docker run -d -P --name mytomcat12 --net mynet tomcat
得到截图:

- 更新输入指令:
docker exec -it tomcat01 apt-get update
docker exec -it tomcat01 apt-get install inetutils-ping
得到截图:

- 容器互联检测:
- 检测两个容器tomcat11和tomcat12时候已经ping
输入指令:
docker exec -it tomcat11 ping tomcat12
(发现没有ping)

- 安装:
输入指令:
docker exec -it tomcat12 apt-get install inetutils-ping
得到截图:

- 两容器进行互ping:
输入指令:
docker exec -it tomcat11 ping tomcat12
docker exec -it tomcat12 ping tomcat11
docker exec -it tomcat12 apt-get install inetutils-ping
(注意在输入的ping的时候,可能由于数据庞大,icmp_seq会一直++,需要按键ctrl+v才会停下省略中间加载部分)





Ping成功!
三、实验记录
虽然此实验较为简单,但是还是遇到了一些问题,比如
①最开始不知道为什么会一直报错,每次报错后都直接回到快照位置重新开始,多试几次后发现,就可以运行了:

②在第一次运行时报错,发现是已经创建了该名字的容器,于是利用rm指令删除后,在重新创建更新即可:

四、实验思考或体会
通过实验,我掌握了云原生docker的基本概念和工作原理,同时实现了docker容器系统的搭建;需要先设置存储库,然后安装docker引擎,试运行,设置管理员权限(也可以不要,只是为了方便。后续操作不用输密码而设置的这步内容),自定义网络,创建命名容器,最后就可以直接将容器ping起来;
在次实验过程中我也掌握了更多的linux系统的终端命令,如删除某个时的指令是rm;