部署nginx:暴露端口
#下载nginx
docker pull nginx
#运行nginx
docker run -d --name nginx2 -p 8081:80 nginx
-d #后台挂起
--name #对当前运行的容器起名
-P 443:8080 #主机访问端口:内部容器端口.注意前面的主机端口不能被占用,后面的容器端口必须为80,因为这是nginx默认运行的端口
#测试
curl localhost:8081
#相当于直接在服务器上访问自己的8081端口,得到的html
外网端口访问流程:
部署Tomcat:官方测试以及进入容器查看
#官方使用:安装并直接运行,但是在运行完成后会将对应的容器删除,多用于测试
$ docker run -it --rm tomcat:9.0
-it #交互
--rm #测试使用后直接删除容器
#正常的安装使用
#安装最新版
docker pull tomcat
#运行
docker run -d -p 8081:8080 d5eef28cf41d #注意Tomcat的默认端口是8080,由于本地有两个Tomcat镜像,这里用id启动容器
#测试
[root@iZwz908j8pbqd86doyrez5Z init.d]# curl localhost:8081
<!doctype html><html lang="en"><head><title>HTTP Status 404 – Not Found</title><style type="text/css">body {font-family:Tahoma,Arial,sans-serif;} h1, h2, h3, b {color:white;background-color:#525D76;} h1 {font-size:22px;} h2 {font-size:16px;} h3 {font-size:14px;} p {font-size:12px;} a {color:black;} .line {height:1px;background-color:#525D76;border:none;}</style></head><body><h1>HTTP Status 404 – Not Found</h1><hr class="line" /><p><b>Type</b> Status Report</p><p><b>Description</b> The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.</p><hr class="line" /><h3>Apache Tomcat/9.0.37</h3></body></html>
#可以看到这里报的是Tomcat的错误,说明Tomcat启动成功了,但是没有出现正常的安装成功的页面.让我们进入容器看看
#进入容器:
[root@iZwz908j8pbqd86doyrez5Z init.d]# docker exec -it fc7c340046da /bin/bash
root@fc7c340046da:/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@fc7c340046da:/usr/local/tomcat# cd webapps
root@fc7c340046da:/usr/local/tomcat/webapps# ls
root@fc7c340046da:/usr/local/tomcat/webapps#
#可以看到,原来应该放web页面的webapp目录下是空的
#1.linux命令少了
#2.没有webapps
#原因:阿里云镜像默认是最小的镜像,所有不必要的都剔除了
#保证最小可运行的环境
#解决方法:虽然webapps下面没有东西了,但是webapps.dist文件输出目录下的东西是齐全的,我们只要将webapp.dist目录拷贝到webapp目录下
root@fc7c340046da:/usr/local/tomcat/webapps# cd /usr/local/tomcat
root@fc7c340046da:/usr/local/tomcat# cd webapps.dist
root@fc7c340046da:/usr/local/tomcat/webapps.dist# ls
ROOT docs examples host-manager manager
root@fc7c340046da:/usr/local/tomcat/webapps.dist# cd /usr/local/tomcat
root@fc7c340046da:/usr/local/tomcat# cp -r webapps.dist/* webapps
root@fc7c340046da:/usr/local/tomcat# cd webapps.dist
root@fc7c340046da:/usr/local/tomcat/webapps.dist# ls
ROOT docs examples host-manager manager
#测试
curl localhost:8081 #可以发现已经正常了
部署es+kibana(受内存限制,这里直接部署了限制内存方式运行的容器):如何查看容器状态,以及如何修改相关的配置
# es 暴露的端口很多
# es 十分的耗内存
# es 的数据一般需要放置到安全目录! 挂载
# --net somenetwork ? 网络配置
#官方部署指令
$ docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2
docker stats #查看 cpu状态
#解决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 #注意带上版本号,否则docker会在本地直接找最新的版本
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" #内存消耗只允许在64m-512m之间
#测试
curl localhost:9200
可视化面板安装(用着玩的)
portainer
docker run -d -p 8088:9000 \ #8088为外部访问地址,9000是内部访问地址
--restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer
登陆测试即可
Rancher(CI/CD:持续集成/持续部署)
原文:https://www.cnblogs.com/Arno-vc/p/13649603.html