背景
参考了狂神老师的 Docker 教程,非常棒!
https://www.bilibili.com/video/BV1og4y1q7M4?p=15
直接运行容器
本地找不到镜像会自动下载
--rm
- Automatically remove the container when it exits
- 该参数官方推荐,一般用来测试,这个容器用完就会自动删除,用完即删
下载 ing
下载成功后,容器内部运行日志
能看到最后在 8080 端口运行成功
停止运行容器,查看镜像和容器列表
刚刚下载的镜像还在,但是容器已经自动删除了
下载 tomcat 最新版镜像
docker pull tomcat
查看下载的镜像
docker images
运行容器
- -d:后台守护Inc方式运行
- -p:端口映射,容器内 8080 端口映射到宿主机 8080 端口
- --name:自定义容器名
docker run -d -p 8080:8080 --name tomcat01 tomcat
浏览器访问 8080 端口验证 Tomcat
进入容器内部终端模式
docker exec -it tomcat01 /bin/bash
查看目录
# 找不到命令
ll
# 正常命令
ls -l
进入 webapps 目录
webapps 目录下啥东西都没
直接访问 8080 报 404 存在的两个问题
- linux 命令变少了
- webapps 目录为空
- 所以导致直接访问 8080 端口无法正常打开 Tomcat
原因
阿里云镜像的原因,阿里云默认是最小的镜像,所以不必要的都剔除掉,保证最小可运行的环境!
进入 webapps.dist 目录
发现 Tomcat 需要用到的目录和文件都在里面
从 webapps.dist 目录下复制所有内容到 webapps 目录下
cp -r webapps.dist/* webapps/
多个目录复制记得加参数 -r
再次访问 8080 端口验证 Tomcat