Docker——部署常用镜像
-
部署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:持续集成/持续部署)
-