Docker-第三课,Docker实践
作者:互联网
一、Docker 安装Nginx
# 1、搜索镜像 search
[root@node1 /]# docker search nginx
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
nginx Official build of Nginx. 14695 [OK]
jwilder/nginx-proxy Automated Nginx reverse proxy for docker con… 2006 [OK]
# 2、下载镜像 pull
[root@node1 /]# docker pull nginx
# 3、运行测试
[root@node1 /]# docker docker images
# -d 后台运行
# --name 给宿主机命名
# -p 宿主机端口:容器内部端口
[root@node1 /]# docker run -d --name nginx01 -p 3304:80 nginx
[root@node1 /]# curl localhost;3344
# 进入容器
[root@node1 /]# docker exec -it nginx01 /bin/bash
[root@node1 /]# whereis nginx
端口暴露的示意图:
我们每次改动nginx配置文件,都需要进入容器内部?十分的麻烦,要是可以在容器外部提供一个映射路径,达到在容器修改文件名,容器内部就可以自动修改?使用→ 数据卷!
二、Docker安装Tomcat
# 官方的使用
[root@node1 /]# docker run -it --rm tomcat:9.0
# 我们之前的启动都是后台启动,停止了容器之后,容器还是可以查到的 docker run -it --rm,一般用来测试,用完就删除
# 下载启动
[root@node1 /]# docker pull tomcat:9.0
# 启动运行
[root@node1 /]# docker run -d -p 3355:8080 --name tomcat01 tomcat
# 测试没有问题
# 进入容器
[root@node1 /]# docker exec -it tomcat01 /bin/bash
# 发现问题:1、Linux命令少了 2、没有webapps 。阿里云镜像的原因。默认是最小的镜像,所有不必要的都剔除掉
# 保证最小可运行的环境
# 解决方法,将Tomcat下的webapps.list下的文件拷贝到webapps下,即可启动
[root@node1 /]# cp -r webapps.list/* webapps/
思考问题:我们以后要部署项目,如果每次都要进入容器是不是十分麻烦?要是可以在容器外部提供一
个映射路径,webapps,我们在外部放置项目,就自动同步内部就好了!
三 、Docker 部署es + kibana
# 启动
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2
# 启动了 Linux就卡了 docker status 查看 cpu的状态
[root@node1 /]# docker stats
# es十分耗内存
curl localhost:9200
# 解决方法,增加内存限制
# 解决方法,增加内存限制 ,修改配置文件 -e 环境配置修改
docker run -d --name elasticsearch02 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xms512m" elasticsearch:7.6.2
[root@node1 /]# docker stats
使用kibana连接es?思考网络如何才能连接
标签:第三课,容器,--,实践,nginx,node1,docker,root,Docker 来源: https://blog.csdn.net/weixin_42997698/article/details/115606762