Docker部署nginx,tomcat,es,可视化
nginx
[root@iz2zeaet7s13lfkc8r3e2kz /]# docker pull nginx #下载
Using default tag: latest
latest: Pulling from library/nginx
afb6ec6fdc1c: Pull complete
b90c53a0b692: Pull complete
11fa52a0fdc0: Pull complete
Digest: sha256:30dfa439718a17baafefadf16c5e7c9d0a1cde97b4fd84f63b69e13513be7097
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
[root@iz2zeaet7s13lfkc8r3e2kz /]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 9beeba249f3e 7 days ago 127MB
centos latest 470671670cac 4 months ago 237MB
# 后台启动nginx,名字为nginx01 映射到本机ip:9000
[root@iz2zeaet7s13lfkc8r3e2kz /]# docker run -d --name nginx01 -p 9000:80 nginx
d7da72bce53a84882b13595a2ce35d7f34c0dc217d3d3f396210c3a3d30bb4a4
[root@iz2zeaet7s13lfkc8r3e2kz /]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d7da72bce53a nginx "nginx -g 'daemon of…" 9 seconds ago Up 7 seconds 0.0.0.0:9000->80/tcp nginx01
# 查看
[root@iz2zeaet7s13lfkc8r3e2kz /]# curl localhost:9000
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
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>
#进入容器
[root@iz2zeaet7s13lfkc8r3e2kz /]# docker exec -it nginx01 /bin/bash
root@d7da72bce53a:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
root@d7da72bce53a:/# cd /etc/nginx
root@d7da72bce53a:/etc/nginx# ls
conf.d koi-utf mime.types nginx.conf uwsgi_params
fastcgi_params koi-win modules scgi_params win-utf
root@d7da72bce53a:/etc/nginx#
端口暴露的概念
tomcat
#官方的使用
docker run -it --rm tomcat:9.0
#我们之前的启动都是后台,停止了容器之后,容器还是可以查到
# docker run -it --rm tomcat:9.0 官方这种方式一般用来测试,用完及删
#下载在启动
docker pull tomcat:9.0
# 测试
[root@iz2zeaet7s13lfkc8r3e2kz /]# docker pull tomcat:9.0
9.0: Pulling from library/tomcat
Digest: sha256:ce753be7b61d86f877fe5065eb20c23491f783f283f25f6914ba769fee57886b
Status: Image is up to date for tomcat:9.0
docker.io/library/tomcat:9.0
[root@iz2zeaet7s13lfkc8r3e2kz /]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat 9.0 1b6b1fe7261e 6 days ago 647MB
nginx latest 9beeba249f3e 7 days ago 127MB
centos latest 470671670cac 4 months ago 237MB
#启动
[root@iz2zeaet7s13lfkc8r3e2kz /]# docker run -d -p 9000:8080 --name tomcat01 tomcat
#进入容器
[root@iz2zeaet7s13lfkc8r3e2kz /]# docker exec -it tomcat01 /bin/bash
#发现问题:1.linux命令少了,2.没有webapps,阿里云镜像的原因。默认是最小的镜像,所有不重要的都剔除掉。
# 保证最小可运行的环境!
#所有的文件都在webapps.dist下,复制到webapps下就可以访问tomcat
cp webapps.dist/* webapps
部署es
# 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
#启动了 linux就卡住了 docker stats 查看cpu的状态 慎重启动!!!
#es 是十分耗内存 1.xg 服务器是1核2g!就卡的要死要死的!!!
# 增加内存限制,修改配置文件 -e 环境配置修改
docker run -d --name elasticsearch02 -p 9200:9200 -p 9300:9300 -e"discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2
查看docker stats
#访问
[root@iz2zeaet7s13lfkc8r3e2kz /]# curl localhost:9200
{
"name" : "ccada763b6c0",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "gVJt2oA6T1CpScqqRXhaMw",
"version" : {
"number" : "7.6.2",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "ef48eb35cf30adf4db14086e8aabd07ef6fb113f",
"build_date" : "2020-03-26T06:34:37.794943Z",
"build_snapshot" : false,
"lucene_version" : "8.4.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
可视化
poryainer
docker run -d -p 8088:9000 \ --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer
什么是portainer?
docker图形化界面管理工具!提供一个后台面板供我们操作!
docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer
[root@iz2zeaet7s13lfkc8r3e2kz /]# docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer
Unable to find image 'portainer/portainer:latest' locally
latest: Pulling from portainer/portainer
d1e017099d17: Pull complete
a7dca5b5a9e8: Pull complete
Digest: sha256:4ae7f14330b56ffc8728e63d355bc4bc7381417fa45ba0597e5dd32682901080
Status: Downloaded newer image for portainer/portainer:latest
78d8db0506212d51fc673896e6db289c03bb5e1f287c2bab9d5d230faedab7d2
[root@iz2zeaet7s13lfkc8r3e2kz /]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat latest 1b6b1fe7261e 6 days ago 647MB
nginx latest 9beeba249f3e 7 days ago 127MB
elasticsearch 7.6.2 f29a1ee41030 8 weeks ago 791MB
portainer/portainer latest 2869fc110bf7 2 months ago 78.6MB
centos latest 470671670cac 4 months ago 237MB
访问测试
Docker部署nginx,tomcat,es,可视化的更多相关文章
- 使用docker部署nginx+tomcat架构(3):使用docker-compose简化部署操作
经历了之前的两篇,我们已经大体上了解了docker部署容器的过程. 使用docker部署nginx+tomcat架构 使用docker部署nginx+tomcat架构():访问mysql数据库 不过, ...
- 使用docker部署nginx+tomcat架构(2):访问mysql数据库
上一篇完成了通过docker部署nginx+tomcat的基础软件架构,但是距离一个真正可用的软件架构还差得很远.其中最重要的一点是缺少数据库这个角色的存在,那么本篇就来完善这一点. 废话少说,直接进 ...
- 使用docker部署nginx+tomcat架构
架构说明: 使用nginx+tomcat实现动态/静态(资源请求)分离和负载均衡. 参考文档: https://www.runoob.com/docker/docker-tutorial.html 配 ...
- Docker部署Nginx并修改配置文件
Docker部署Nginx并修改配置文件 一.拉取nginx镜像 docker pull nginx 二.在宿主机中创建挂载目录 mkdir -p /data/nginx/{conf,conf.d,h ...
- Docker部署Nginx应用(2)
Docker部署Nginx应用(2) 1.拉取Nginx镜像 [root@localhost ~]# docker pull nginx Using default tag: latest lates ...
- docker(部署常见应用):docker部署nginx
上回说到centos安装docker. 这次用实战,docker部署运行常见的应用. docker常用命令 参看:docker命令大全.这里不做赘述. docker部署nginx 1.docker h ...
- Docker部署Mysql, Tomcat, Nginx, Redis
1. Mysql部署 问题及解决方案 容器内的网络和外部机器不能直接通信 外部机器和宿主机可以直接通信 宿主机和容器可以直接通信 当容器中的网络服务需要被外部机器访问时,可以将容器中提供服务的端口映射 ...
- kubernetes部署nginx/tomcat
kubernetes集群已经部署好了,需要的话可以参考之前的文章https://www.cnblogs.com/winter1519/p/10015420.html [root@master tomc ...
- Docker部署Nginx启动成功,浏览器拒绝访问
今天下午部署完tomcat和mysql之后就接着部署Nginx,本以为Nginx也和之前两个一样简单,但是就因为标题这个问题,花费了我一个小时纠错. 过程复现: 解决完上一篇博客(https://ww ...
随机推荐
- 疯子的算法总结(七) 字符串算法之 manacher 算法 O(N)解决回文串
有点像DP的思想,写写就会做. #include<bits/stdc++.h> using namespace std; const int maxn=1e7+5; char a[maxn ...
- 跟哥一起学python(3)- 理解“变量”
我们把前面的程序稍微改一下,来了解python中的变量. # file: ./4/4_1.py # 定义变量 hello_str = "hello, world!" # 字符串打印 ...
- ES[7.6.x]学习笔记(六)分析器
在前面的章节中,我们给大家介绍了索引中的映射类型,也就是每一个字段都有一个类型,比如:long,text,date等.这和我们的数据库非常的相似,那么它的不同之处是什么呢?对了,就是全文索引,在ES当 ...
- Re模块的方法补充
id_str = input("输入一个身份证号:") import re obj = re.compile(r"^([1-9]\d{16}[0-9x]|[1-9]\d{ ...
- 博客第一天:常用的DOS命令
打开CMD的方式: 1.开始+系统+命令提示符 2.Win键+R 输入cmd打开控制台[推荐使用] 3.在任意文件夹下,按住Shift键+鼠标右击, 选择 ”在此处打开Powershell窗口(S)“ ...
- Unity 游戏框架搭建 2019 (四十六) 简易消息机制 & 集成到 MonoBehaviourSimplify 里
在上一篇,我们接触了单例,使用单例解决了我们脚本之间访问的问题. 脚本之间访问其实有更好的方式. 我们先分下脚本访问脚本的几种形式. 第一种,A GameObject 是 B GameObject 的 ...
- 把99%的程序员烤得外焦里嫩的JavaScript面试题
最近有学员给出一段令人匪夷所思的JavaScript代码(据说是某某大厂面试题),废话少说,上代码: var a = 10; { a = 99; function a() { } a = 30; ...
- 一看就懂的Ubuntu系统下samba服务器安装配置教程
文章目录 前言 环境搭建 安装 配置 Examples 1 创建共享(任何人都可以访问) 2 单用户权限(需要密码访问) 添加samba用户 配置参数 3 支持游客访问(单用户拥有管理员权限) 前言 ...
- python学习(11)文件的读写操作
1.读文件的7种操作模式 操作模式 具体含义 'r' 读取 (默认) 'w' 写入(会先截断之前的内容) 'x' 写入,如果文件已经存在会产生异常 'a' 追加,将内容写入到已有文件的末尾 'b' 二 ...
- Android广播时间——实现强制下线功能
目录 思路:强制下线功能需要先关闭掉所有的活动,然后回到登录界面. 步骤 1.关闭所有活动 2.创建BaseActivity类作为所有活动的父类,因为需要用ActivityCollector管理所有活 ...