作业一:Docker 安装 Nginx
1 搜索镜像
搜索 Docker 镜像:https://hub.docker.com/
点击进入可以查看 docker 镜像信息信息,包括镜像版本,如下图:
也可以使用 Docker 命令进行搜索:docker search nginx
建议大家去 docker hub 搜索,可以看到相关镜像的帮助文档
2 拉取镜像
命令:docker pull nginx
下载 nginx 镜像,查看本地镜像下载成功!
3 运行镜像
命令:docker run -d --name nginx_01 -p 3344:80 nginx
参数说明:
-d 后台运行
--name 给容器命名
-p 宿主机端口:容器内部端口
4 访问测试
命令:curl localhost:3344
可以看到 “Welcome to nginx!” 说明可以正常访问!
在浏览器中访问 nginx 也是可以的
5 停止运行
查看正在运行的容器,进入 nginx_01 容器,查找 nginx 配置文件,在 /etc/nginx 目录下
退出容器,然后停止容器运行,再次访问失败!
思考问题:我们每次改动nginx配置文件,都需要进入容器内部?十分的麻烦,要是可以在容器外部提供一个映射路径,达到在容器修改文件名,容器内部就可以自动修改?
数据卷!
作业二:使用 Docker 安装 tomcat
1 查看官方使用
之前的启动都是后台,停止了容器,容器还是可以查到
docker run -it --rm image 一般是用来测试,用完就删除(暂时不建议)
使用命令 docker run -it --rm tomcat:9.0 启动容器,启动成功
Ctrl + c 停止运行 tomcat 容器,查看所有容器运行历史,没有找到 tomcat 容器,故:--rm image 参数用完就删除(暂时不建议)
2 下载镜像
命令:docker pull tomcat:9.0
3 启动运行镜像
命令:docker run -d -p 3355:8080 --name tomcat_001 tomcat:9.0
4 测试访问
可以正常测试访问,只不过是 404 错误
5 进入容器
命令:docker exec -it tomcat_001 /bin/bash
进入 tomcat_001 容器之后,发现 ll 命令无法正常使用,进入 webapps 命令,发现没有任何文件存在。出现两个问题:
1.Linux 命令变少了
2.没有 webapps
原因:阿里云镜像的原因,默认是最小的镜像,所有不必要的东西都剔除掉,保证最小可运行的环境。
解决办法:
文件夹 webapps 是空的,但是另外一个名为 webapps.dist 的文件夹,里面有tomcat完整的文件夹和文件,可以将目录下 webapps.dist 里文件复制到 webapps。
然后再次测试访问网站
思考问题:以后要部署项目,如果每次都要进入容器是不是十分麻烦?要是可以在容器外部提供一个映射路径,比如:webapps,我们在外部放置项目,就自动同步内部就好了!
注:docker 容器中放有 tomcat、网站、数据库,万一不小心把容器删除呢?跑路???这种方法不太科学
作业三:部署es+kibana
es 暴露的端口很多!
es 十分耗内存
es 的数据一般需要放置到安全目录!挂载
1 查看官方使用
官方启动命令:docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:tag
--net somenetwork:网络配置
2 启动 elasticsearc
注:启动之前最好把其他容器终止运行
命令:docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2
启动之后就发现,Linux 服务器非常卡顿(es是否消耗内存),甚至卡死
3 查看 CPU 的状态
命令:docker stats
4 测试 es
命令:curl localhost:9200
5 关闭 es
命令: docker stop 容器id
6 添加内存的限制
修改配置文件 -e 环境配置修改:限制内存范围为 64M-512M
命令:docker run -d --name elasticsearch02 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2
7 再次查看 CPU 的状态
命令:docker stats
8 再次测试 es
命令:curl localhost:9200
思考问题:使用kibana连接es?思考网络如何才能连接。
如果对您有帮助,赏口饭吃❤谢谢老板❤
转载:https://blog.csdn.net/apollo_miracle/article/details/115978545