一、部署nginx
# 1. 搜索镜像
docker search nginx
# 2. 下载镜像
docker pull nginx
# 3. 查看镜像是否下载成功
docker images
# 4. 启动容器(-d:后台运行 --name:容器名 -p:暴露端口 宿主机端口3344:容器端口80)
docker run -d --name nginx01 -p 3344:80 nginx
# 5. 查看容器是否启动
docker ps
# 6. 本机测试
curl localhost:3344
外网访问需要开通云服务安全组80端口才能访问
通过外网进行访问测试
二、部署tomcat
# 官方使用
# 之前我们都是后台启动,停止容器后,仍可以通过docker ps -a命令查到容器的使用记录
# --rm表示用完就删除容器及历史记录;
docker run -it --rm tomcat:9.0
#下载tomcat
docker pull tomcat:9.0
# tomcat启动运行
# docker run -d -p 3355:8080 --name tomcat03 tomcat:9.0
# 进入容器,发现webapps为空 docker下载下来的tomcat是阉割版的 启动后是不能直接通过外网访问的
# docker exec -it tomcat03 /bin/bash
root@ffc2e1098b06:/usr/local/tomcat# ls
BUILDING.txt LICENSE README.md RUNNING.txt conf logs temp webapps.dist
CONTRIBUTING.md NOTICE RELEASE-NOTES bin lib native-jni-lib webapps work
root@ffc2e1098b06:/usr/local/tomcat# cd webapps
root@ffc2e1098b06:/usr/local/tomcat/webapps# ls
但是我们可以看到webapps.dist里面有我们需要的文件 可以将webapps.dist改成webapps或将里面的文件拷进webapps
# cp -r webapps.dist/* webapps
三、部署es+kibana
# es暴露的端口很多
# es十分耗内存
# es的数据一般需要放置在安全目录!挂载
# 启动elasticsearch容器(启动后会很卡顿,因为很占内存)
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2
# 监控容器资源消耗(该命令也十分耗资源,服务器卡死)
docker stats [容器ID]
可以看到内存占用率很高;这时候赶紧关闭容器,增加内存的限制,再重新启动一个容器
重新启动elasticsearch容器,增加内存限制(-e ES_JAVA_OPTS="-Xms64m -Xmx512m" 最小64m 最大512m),防止服务器卡死
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
# 查看运行的容器
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b6e7bc8063a5 elasticsearch:7.6.2 "/usr/local/bin/dock…" 39 seconds ago Up 37 seconds 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp elasticsearch01
# 监控容器资源消耗
# docker stats b6e7bc8063a5
可以看到内存占用被限制住,也不再卡了