微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Docker安装Nginx、Tomcat、ES及可视化

Docker安装Nginx

# 下载Nginx
[root@wulei home]# docker pull Nginx:1.19.6
# 查看镜像确定下载成功
[root@wulei home]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
Nginx        1.19.6    f6d0b4767a6c   4 weeks ago    133MB
centos       7         8652b9f0cb4c   2 months ago   204MB
# 启动Nginx
# -d 后台运行
# --name 给容器起名字 
# -p 宿主机端口号(外部访问) 容器内部端口号 
[root@wulei home]# docker run -d --name Nginx01 -p 3344:80 Nginx:1.19.6
b16bc56f6028554d6dbb9538c590d1d07aa8afe5632a1a319120bec976e341b0
# 访问一下   也可以直接在浏览器访问 : 阿里云外网IP:3344
[root@wulei home]# curl localhost:3344

# 进入容器可以修改配置
[root@wulei home]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                  NAMES
b16bc56f6028   Nginx     "/docker-entrypoint.…"   21 minutes ago   Up 21 minutes   0.0.0.0:3344->80/tcp   Nginx01
[root@wulei home]# docker exec -it Nginx01 /bin/bash
root@b16bc56f6028:/# whereis Nginx
Nginx: /usr/sbin/Nginx /usr/lib/Nginx /etc/Nginx /usr/share/Nginx
root@b16bc56f6028:/# cd /etc/Nginx
root@b16bc56f6028:/etc/Nginx# ls
conf.d	fastcgi_params	koi-utf  koi-win  mime.types  modules  Nginx.conf  scgi_params	uwsgi_params  win-utf

# 但是这里是不是有个问题?修改容器还要进入容器内部,是不是很麻烦,我们要是可以在容器外部提供一个映射路径,从而达到在容器外部修改文件,容器内部就可以自动修改。 -v 数据卷技术

端口暴露的概念

在这里插入图片描述

Docker安装Tomcat

# 官方使用:我们之前的启动都是后台,停止了容器之后,我们的容器还可以查到,但是官方的用完即删,镜像还在,但是容器没了
docker run -it --rm tomcat:9.0

# 下载安装(认为最新的)
[root@wulei wulei]# docker pull tomcat
# 查看镜像
[root@wulei wulei]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
tomcat       latest    040bdb29ab37   4 weeks ago    649MB
Nginx        latest    f6d0b4767a6c   4 weeks ago    133MB
centos       7         8652b9f0cb4c   2 months ago   204MB
# 启动Tomcat  现在启动完毕访问不了
[root@wulei wulei]# docker run -d -p 3366:8080 --name tomcat01 tomcat
05c036135c85d57526a1b637c25d2423d52b2fd4e366acbecdd734c8818cfd71
[root@wulei wulei]# docker ps
CONTAINER ID   IMAGE     COMMAND             CREATED         STATUS         PORTS                    NAMES
05c036135c85   tomcat    "catalina.sh run"   4 seconds ago   Up 3 seconds   0.0.0.0:3366->8080/tcp   tomcat01
# 进入Tomcat容器
[root@wulei wulei]# docker exec -it 05c036135c85 /bin/bash
root@05c036135c85:/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
# 删除 webapps 空文件夹
root@05c036135c85:/usr/local/tomcat# rmdir webapps
# 重命名webapps.dist 文件夹为 webapps
root@05c036135c85:/usr/local/tomcat# mv webapps.dist webapps
root@05c036135c85:/usr/local/tomcat# cd webapps/
root@05c036135c85:/usr/local/tomcat/webapps# ls
ROOT  docs  examples  host-manager  manager

# 在浏览器访问即可  
#也可以直接在Linux访问
[root@wulei wulei]# curl localhost:3366
# ...

在这里插入图片描述

这里也有一个问题,每次启动Tomcat都要进入容器修改,十分麻烦,现在有两种解决方案,一种是直接用映射路径,另外一种是自定义镜像,后面会讲到

Docker安装ES

# es 暴露的端口很多
# es 十分耗内存!!! 不加内存限制 起手 一点几个G
# es 的数据一般需要放置到安全目录,挂载!

# --net somenetwork 网络配置(Kibana要用的)

#启动elasticsearch (docker stats 查看 cpu 状态)
	#1、如果你的Linux内存有4G直接用下面的即可
	docker run -d --name elasticsearch  -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2
	#2、如果内存只有2G,则加上内存限制(也可以直接修改配置文件)
	docker run -d --name elasticsearch  -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-xms64m -xms512m" elasticsearch:7.6.2
	
	
# 如果启动失败,就重启docker
systemctl restart docker


#访问即可
[root@wulei wulei]# curl localhost:9200
{
  "name" : "023f3fa14f52",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "xNZXzYTGS1aau-fLtKKtVQ",
  "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"
}

可视化

  • portainer(先用着)
  • Rancher(CI/CD时候再用)

什么是portainer?

Docker图形化界面管理工具!提供一个后台面板供我们操作!

docker run -d -p 8088:9000 \
--restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer

启动完成后可以在浏览器访问: http://ip:8088

创建初始账号和密码

在这里插入图片描述

选本地的即可

在这里插入图片描述

连接之后

在这里插入图片描述


平时不会用这玩意,自己测试玩玩即可

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐