【版本】
当前版本号v20221105
版本 | 修改说明 |
---|---|
v20221105 | 加入常见问题 |
v20211025 | 初始化版本 |
【实验名称】实验6.1 安装 Docker
【实验目的】
- 掌握 Docker 的安装
【实验环境】
- VirtualBox
- FinalShell
【实验资源】
- docker-repo.tar
链接:https://pan.baidu.com/s/1kw7nT7dbonUTSlPqIHVwhQ
提取码:heis
【实验步骤】
- 使用root 用户登录
Tmpl
虚拟机。
su
- 安装创建 yum 源库的命令
createrepo
yum install -y createrepo
- 创建目录用于存放 docker 源库。
mkdir /var/docker/repo -p
- 上传
docker-repo.tar
到/var/docker/repo
cd /var/docker/repo
rz
- 解压
docker-repo.tar
tar -xvf docker-repo.tar
- 创建 Docker 源库。
createrepo /var/docker/repo
- 编辑 yum 源的配置文件。
vi /etc/yum.repos.d/local.repo
- 加入以下内容
[docker]
name=docker
baseurl=file:///var/docker/repo
gpgcheck=0
- 重新生成 yum 的缓存。
yum makecache fast
- 安装 Docker。
yum install docker -y
- 启动 Docker。
systemctl start docker
- 查看 Docker 的版本
docker version
- 正常应该可以看到以下类似内容:
Client:
Version: 1.13.1
API version: 1.26
Package version: docker-1.13.1-208.git7d71120.el7_9.x86_64
Go version: go1.10.3
Git commit: 7d71120/1.13.1
Built: Mon Jun 7 15:36:09 2021
OS/Arch: linux/amd64
Server:
Version: 1.13.1
API version: 1.26 (minimum version 1.12)
Package version: docker-1.13.1-208.git7d71120.el7_9.x86_64
Go version: go1.10.3
Git commit: 7d71120/1.13.1
Built: Mon Jun 7 15:36:09 2021
OS/Arch: linux/amd64
Experimental: false
【实验名称】实验6.2 导入 Docker 镜像并启动
【实验目的】
- 掌握 Docker 的安装
【实验环境】
- VirtualBox
- FinalShell
【实验资源】
- tomcat.tar 该文件是一个 Docker 镜像,镜像包含一个 Tomcat(HTTP 服务器)应用。
链接:https://pan.baidu.com/s/1kw7nT7dbonUTSlPqIHVwhQ
提取码:heis
【实验步骤】
- 使用root 用户登录
Tmpl
虚拟机。
su
- 上传
tomcat.tar
到 /root 目录
cd ~
rz
- 导入 Docker 镜像
cd /root
docker load -i tomcat.tar
- 执行完会显示
Loaded image: docker.io/tomcat:latest
- 查看所有 Docker 镜像
docker image ls
- 正常应该能够看到类似以下内容:
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/tomcat latest b0e0b0a92cf9 2 days ago 680 MB
接下来我们将创建一个网页,并让 Docker 的 Tomcat 镜像运行在容器内,并发布该网页到 Tomcat 服务器上。
创建一个存放网页的目录
mkdir -p /root/test
- 创建一个静态的网页,请注意替换为你的学号。
cd /root/test
vi index.html
- 输入以下内容
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello Docker</title>
</head>
<body>
Hello Docker -by 请替换为你的个人学号
</body>
</html>
- 启动 Docker 的容器,并把容器 8080 端口映射到本机的 8080 端口,本地
/root/test
映射到容器的/usr/local/tomcat/webapps/test
。
docker run -d -p 8080:8080 -v /root/test:/usr/local/tomcat/webapps/test tomcat
浏览器访问http://10.0.0.70:8080/test/index.html,是否能够看到以上编写的网页信息。
查看 Docker 运行的容器,留意容器的ID(CONTAINER ID)。
docker ps
- 正常应该能够看到类似以下信息
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
be84ccbed333 tomcat "catalina.sh run" 31 minutes ago Up 31 minutes 0.0.0.0:8080->8080/tcp hardcore_thompson
- 终止 Tomcat 容器的运行。
docker stop <替换为上面看到的CONTAINER ID>
注:以上命令的CONTAINER ID可以只输入前面几个字母。
- 再次查看 Docker 运行的容器,查看是否已经没有任何容器在运行。
docker ps
【常见问题】
- 访问 Tomcat 的页面出现 404 错误。
- 这有可能是因为SELinux 没有关闭导致的本地目录无法映射到容器内目录。执行以下命令可以临时关闭 SELinux。
setenforce 0
- 要永久关闭 SELinux可以执行以下语句。
vi /etc/selinux/config
- 把
SELINUX
设置为disabled
SELINUX=disabled
##【常见问题】
1. 启动 Docker 服务出错,提示“dockerd: failed to start daemon: Devices cgroup isn’t mounted”。
答:需要加入 grub 启动参数systemd.unified_cgroup_hierarchy=0
(1)重启虚拟机,在菜单选项界面按
e
进行启动参数编辑。(2)在参数界面进行编辑,可以按方向键到文件最后,加入新的一行,输入
systemd.unified_cgroup_hierarchy=0
。(不编辑可以按Esc
退出)(3)按下
Ctrl
+X
启动。(4)在虚拟机重新启动 Docker 进程。
systemctl start docker