Docker学习笔记(三)
1.布署nginx
-
先使用
docker pull nginx
下载镜像 -
查看镜像
-
启动容器,给容器命名以及暴露端口号
-
本机自测
[root@jiang home]# curl localhost:3344
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
端口暴露的概念
思考问题:我们每次改动nginx配置文件,都需要进入容器内部?十分的麻烦,我要是可以在容器外部提供一个映射路径,达到在容器外修改文件名,容器内部就可以自动修改?-v 数据卷
2.Tomcat安装
# 官方的使用
docker run -it --rm tomcat
# 我们之前的启动都是后台,停止了容器之后,容器还是可以查到docker run -it --rm,一般用来测试,用完就删除。
# 下载 docker pull tomcat
# 启动运行 docker run -d --name="tomcat01" -p 3355:8080 tomcat
# 测试访问没有问题,但是找不到资源
# 进入容器,有一个webapps文件夹和webapps.dist文件夹
webapps下面没有资源
# 发现问题:(阿里云镜像的原因:默认是最小的镜像,所有不必要的都剔除掉)保证最小可运行的环境
# 1、Linux命令少了。
# 2、没有webapps文件夹。
# 没有webapps文件夹,发现有一个webapps.dist文件夹,资源在webapps.dist文件夹下;
# 把webapps.dist文件夹下的文件复制到webapps文件夹下,就可以访问成功。
cp -r webapps.dist/* webapps
将文件复制到webapps目录下
提醒:前面的3355是映射的,也就是内部tomcat8080映射给3355,然后通过宿主(Linux的ip地址访问)
思考问题:我们以后要部署项目,如果每次都要进入容器是不是十分麻烦?我要是可以在容器外部提供一个映射路径,webapps,我们在外部放置项目,就自动同步到内部就好了!
3.部署ES+kibana
下载elasticsearch
# es暴露的端口很多!
# es十分的耗内存!
# es的数据一般需要放置到安全目录!挂载
# 下载启动elasticsearch
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2
# 启动了linux就卡住了,es是十分耗内存的(1核2G)
# 查看cpu的状态
docker stats
# 测试一下es是成功的
启动发现占用内存很多,敲命令很卡
# 赶紧关闭,增加内存的限制,修改配置文件-e环境配置修改
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2
# 可以访问成功;查看cpu状态
4.可视化面板
4.1下载命令
docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer
运行启动
# 启动运行
docker run -d -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer
4.2什么是portainer ?
Docker图形化界面管理工具!提供一个后台面板供我们操作!
选择本地
控制面板读者自行尝试即可,不作为重点。