资料详情

创建一个MySQL容器并进行进程管理实验报告

头像

理工论文

编号:11176

实验报告

目录

一、 课堂练习

docker info

二、 课后作业

4. 进入MySQL容器中看是否有vi的命令,并且解释原因

5. 排查容器的练习

用busybox启动一个容器,验证nginx的容器正常工作

一、 课堂练习

代码:

docker run -it --name mysqlsrv1 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456  mysql:5.7

运行截图:

代码:

docker exec -it mysqlsrv1 bash

mysql -uroot -p123456

show databases;

运行截图:

代码:

docker version

运行截图:

代码:

docker info

运行截图:

代码:

docker run hello-world

运行截图:

代码:

docker run -d -p 80:80 --name webserver nginx

运行截图:

代码:

docker run -it busybox sh

运行截图:

代码:

docker run busybox iplink show eth0

运行截图:

代码:

docker ps

运行截图:

代码:

docker exec -it webserver bash

docker exec -it 83c1fad37f8f bash

运行截图:

代码:

docker inspect <containerId>

运行截图:

代码:

docker logs <containerid>

运行截图:

二、 课后作业

题目:

1. 启动一个busybox容器,把本机的 /mydata目录映射到容器里的/userdata 目录,进入容器,查看目录,编辑文件,在看主机上的文件变化情况

过程:

1、启动一个busybox容器

2、创建文件夹

3、映射

4、查看目录,并在userdata中新建一个文件夹

5、查看主机文件,发现mydata中的内容改变

题目:

2. 创建一个MySQL容器,放在后台运行,开一个新的SHELL终端,查找容器对应的进程,尝试杀掉进程,看看容器是否退出,并解释原因

过程:

1、创建MySQL容器

2、查看端口号所对应的进程id并用kill杀死进程

3、查看容器,发现容器已经退出

解释:

杀死进程后容器没有设置重启则容器不重启,也就是退出。

题目:

3. 创建一个MySQL容器,放在后台运行,确保创建容器的时候 添加参数 --restart=always ,在宿主机上查找容器对应的进程,尝试杀掉进程,看看容器是否退出,并解释原因

过程:

1、创建MySQL容器

2、设置-�Crestart=always

3、查找进程

4、杀死进程后可以看到进程依旧存在

解释:

杀死进程后容器重启,所以容器实际上没有退出。

题目:

4. 进入MySQL容器中看是否有vi的命令,并且解释原因

过程:

1、进入容器

2、发现没有vi命令

解释:

如果容器本身无vi命令,则无法使用vi。

题目:

5. 排查容器的练习

用busybox启动一个容器,验证nginx的容器正常工作

docker exec命令行方式进入nginx容器,获取nginx容器的IP地址(ip a)

Busybox启动一个容器,并且ping nginx容器的IP,确认可以网络互通

在busybox容器里用下列命令(bin目录下)行排查nginx容器是否正常:

1 wget http://<nginxip>:80

2 curl http://<nginxip>:80

3 telnet <nginxip> 80 或者8080,对比效果

过程:

1、启用busybox

2、进入nginx容器,获取ip地址

3、ping ip

4、wget http://<nginxip>:80

5、curl http://<nginxip>:80

6、telnet <nginxip> 80 或者8080,对比效果,可以看到对于80可以连接,对于8080无法连接。