要求

按课件内容实践,并给出实验报告。

实验环境

Ubuntu 20.04

完成

  • docker基本操作
  • MySQL容器化
  • docker网络
  • docker仓库
  • 容器监控与日志
  • golang容器化
安装docker

根据查到的教程指引,安装完成。

docker上的实验室管理工具 docker实验报告总结_Ubuntu

第一个应用

运行docker run hello-world,可以看到出现了课件中所示的内容:

docker上的实验室管理工具 docker实验报告总结_Ubuntu_02

运行镜像

按照课件运行docker run -it ubuntu bash,但是出现了错误:

docker上的实验室管理工具 docker实验报告总结_docker上的实验室管理工具_03


通过搜索找到了解决方案:

docker上的实验室管理工具 docker实验报告总结_Ubuntu_04


解决上述问题之后,再安装、运行Ubuntu,可见成功。

docker上的实验室管理工具 docker实验报告总结_docker上的实验室管理工具_05

Docker基本操作

已安装镜像和帮助:

docker上的实验室管理工具 docker实验报告总结_Docker_06


正在运行的镜像

docker上的实验室管理工具 docker实验报告总结_docker_07


在另一个终端开启Ubuntu之后:

docker上的实验室管理工具 docker实验报告总结_Docker_08


所有镜像:

docker上的实验室管理工具 docker实验报告总结_Ubuntu_09

MySQL容器化

安装:

docker上的实验室管理工具 docker实验报告总结_docker上的实验室管理工具_10


运行:

docker上的实验室管理工具 docker实验报告总结_Ubuntu_11


docker上的实验室管理工具 docker实验报告总结_docker上的实验室管理工具_12


docker上的实验室管理工具 docker实验报告总结_docker_13


创建卷并挂载:

docker上的实验室管理工具 docker实验报告总结_Ubuntu_14


挂载现有数据库:

docker上的实验室管理工具 docker实验报告总结_docker上的实验室管理工具_15


docker上的实验室管理工具 docker实验报告总结_docker上的实验室管理工具_16

docker网络

docker上的实验室管理工具 docker实验报告总结_Docker_17


运行如下命令:

docker network create mynet
 docker run --name u1 -it -p 8080:80 --net mynet --rm ubuntu:net bash
 docker run --name u2 --net mynet -it --rm ubuntu:net bash

然后通过docker inspect u1查看:

u1:

docker上的实验室管理工具 docker实验报告总结_Docker_18


inspect:

docker上的实验室管理工具 docker实验报告总结_Ubuntu_19


docker上的实验室管理工具 docker实验报告总结_Ubuntu_20

docker仓库

登录

docker上的实验室管理工具 docker实验报告总结_Docker_21


运行、退出:

docker上的实验室管理工具 docker实验报告总结_Docker_22

容器监控与日志

查看docker状态:

docker上的实验室管理工具 docker实验报告总结_docker_23


日志查看:

docker上的实验室管理工具 docker实验报告总结_Docker_24

golang容器化

根据参考资料4,建立项目如下:

docker上的实验室管理工具 docker实验报告总结_Docker_25


制作docker镜像:

docker上的实验室管理工具 docker实验报告总结_docker_26


运行docker:

docker上的实验室管理工具 docker实验报告总结_Docker_27


docker上的实验室管理工具 docker实验报告总结_docker_28

参考资料

  1. 容器化技术与容器服务
  2. 在Ubuntu中安装Docker和docker的使用
  3. 解决Ubuntu18.04启动Docker“Got permission denied while trying to connect to the Docker daemon socket“问题
  4. docker部署golang web服务