Docker 实际部署
Docker 部署 Nginx
# 1.搜索镜像 search 建议从docker搜索,可以看到帮助文档
$ docker search nginx
# 2.下载镜像
$ docker pull nginx
# 3.启动 nginx 容器,-d 后台运行,--name给容器命名,-p 通过宿主机的3344端口访问nginx默认的80端口
$ docker run -d --name nginx01 -p 3344:80 nginx
# 4.查看时候启动成功
$ docker ps
# 5.运行测试
# 6.进入nginx容器
$ docker exec -it nginx01 /bin/bash
# 7.停止 nginx 容器
# exit
$ docker stop nginx01或者容器id
端口暴露的概念
问题:
每次修改文件需要进入容器,很麻烦,如何在外部容器提供一个映射路径,达到在宿主机修改文件名,容器内部就可以自动修改?
-v 数据卷!
Docker 部署 tomcat
# 官方使用
docker run -it --rm tomcat:9.0
# 我们之前的启动都是后台,停止了容器之后,容器还是可以查到 docker run -it --rm 一般用来测试,用完及删除
# 下载再启动
docker pull tomcat:9.0
# 启动
docker run -d -p 3355:8080 --name tomcat01 tomcat
# 测试访问没有问题
# 进入容器
docker exec -it tomcat01 /bin/bash
# 发现问题:1.linux命令少了,2.没有webapps。阿里镜像的原因,默认是最小的镜像,所以不必要的都剔除了
# 保证最小可运行的环境
# 显示页面,将webapps.dist下文件拷贝到webapps目录下
cp -r webapps.dist/* webapps
Docker 部署 es(elasticsearch) + kibana
# es 暴露的端口很多
# es 十分耗内存
# es 的数据一般需要放置到安全目录!挂载
# --net somenetwork 网络配置
$ docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:tag
# 下载启动
$ docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2
# 启动了 linux就卡住了
$ docker stats 查看 cpu的状态
# 修改配置文件 -e 环境配置修改
$ docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2
使用kibana 连接 es
- 问题
如何使用kibana连接es,网络如何才能连接过去。
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: