软件容器化平台Docker, 测试web服务 jpress
1、docker思想
集装箱
标准化
隔离
2、解决问题
2.1 运行环境不一致带来的问题。打包 jdk、tomcat等运行环境
2.2 相互影响。比如 内存泄漏、磁盘占满。隔离型
2.3 服务器周期性增删。标准化提供了 弹性扩展 伸缩。
3、build构建 ship运输 run
4、image 镜像
每一层都是只读的,多层储存在一个目录,os/environment/application
5、Docker 容器
同一个容器可以生成多个容器,镜像不可以修改,容器可以。
6、repository 仓库
存储标准化
hub.docker.com c.163.com
7、安装
8、docker 命令
docker pull [option] name [:tag] / docker pull hello-world
docker images [OPTION] [respsitory] [:tag] / docker images
docker run [] IMAGE[:tag] / docker run hello-world
9、nginx 后台程序
docker pull nginx
docker ps 查看运行 镜像
docker exec --help // -i -t分配一个伪终端
docker exec -it 865 bash // 865 是docker id 前缀. 进入的是这个容器的终端
10 、
网络 Bridge Host None
端口映射:访问主机某个端口 相当与访问 docker 内部port
默认 Bridge
docker stop 865
docker run -d -p 8081:80 nginx // -P 开放所有的端口,映射到随机端口
netstat -na|grep 8081 查看端口
docker ps 也能查看映射端口
11、制作 自己的 镜像
Dockerfile
docker build
Jpress:http://jpress.io/ 一个 博客平台。java web 应用
vi Dockerfile // {}
# 1、第一行必须指定 基础镜像信息
/注意要求是 英文 空格
from tomcat
MAINTAINER tian_m [email protected]
COPY jpress.war /usr/local/tomcat/webapps
// {}
docker build . // . 代表当前目录
docker build -t jpress:latest . // 命名
12、运行镜像
docker run -d -p 8888:8080 jpress
netstat -na|grep 8888
localhost:8888
localhost:8888/jpress // 安装过程 需要 mysql
docker pull mysql
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=000000 mysql
// 【OPTION】 看 docker 官网推荐 参数
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=000000 -e MYSQL_DATEBASE=jpress mysql // 加上创建数据库
root 000000 localhost 3306 jpress_
ifconfg inet
root 000000 196.X.X.X 3306 jpress_
教学视频:https://www.imooc.com/video/14625
遇到的问题:
HTTP状态 404 - 未找到
类型 状态报告
描述 源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示。
Apache Tomcat/9.0.35
解决方案: