Docker 小练习 安装 nginx,tomcat,es + kibana

docker 安装 nginx

# 1、搜索镜像 search   推荐去官网搜索,可以看帮助文档
# 2、下载镜像 pull
# 3、运行测试 
[root@zhujixiang /]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              4392e5dad77d        5 days ago          132MB
centos              latest              470671670cac        4 months ago        237MB
hello-world         latest              bf756fb1ae65        5 months ago        13.3kB

# -d 后台运行
# --name 给容器命名
# -p 宿主机端口:容器内部端口
[root@zhujixiang /]# docker run -d --name nginx01 -p 3344:80 nginx
490b4bba72385f7b14ac4963ff2ffc60699526716b6249aae895bf6708197e4a
[root@zhujixiang /]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
490b4bba7238        nginx               "/docker-entrypoint.…"   8 seconds ago       Up 6 seconds        0.0.0.0:3344->80/tcp   nginx01

# 本地访问
[root@zhujixiang /]# curl localhost:3344
# 外网访问 其中阿里云需要去安全组手动配置规则
# 具体操作:https://blog.csdn.net/langhailove_2008/article/details/79438344

# 4、进入容器
[root@zhujixiang /]# docker exec -it nginx01 /bin/bash
root@490b4bba7238:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
root@490b4bba7238:/# cd /etc/nginx
root@490b4bba7238:/etc/nginx# ls
conf.d	fastcgi_params	koi-utf  koi-win  mime.types  modules  nginx.conf  scgi_params	uwsgi_params  win-utf

端口暴露概念  

Docker 小练习 安装 nginx,tomcat,es + kibana_第1张图片

docker 安装 Tomcat  

# 官方的使用
docker run -it --rm tomcat:9.0
# 我们之前启动都是在后台启动,停止容器之后,容器还能查到  docker run -it --rm 一般用来测试,用完即删

# 下载在启动
docker run -d --name tomcat01 -p 3344:8080 tomcat
# 测试没有问题 因为webapps里面没有数据,全在webapps.dist下面,可以复制过去
root@9fc5b7b7ffe6:/usr/local/tomcat# cp -r webapps.dist/* webapps

# 进入容器
[root@zhujixiang /]# docker exec -it tomcat01 /bin/bash

# 发现问题:1.Linux命令少了。2.没有webapps。 阿里云镜像的原因:默认最小镜像,删除一切不必要的东西
# 保证最小可运行环境

部署 es + kibana

# es 暴露的端口很多
# es 十分耗内存
# es 的数据一般需要放在安全目录!挂载
# --net somenetwork  网络配置
官方:docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:tag

# 启动 elasticsearch
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2

# 启动了 Linux 卡死了   docker stats 查看 CPU 状态

# 查看 cpu 状态
[root@zhujixiang /]# docker stats
CONTAINER ID        NAME                CPU %               MEM USAGE / LIMIT        MEM %               NET I/O             BLOCK I/O           PIDS
78f2bcb8f7f7        elasticsearch       0.01%               1.246GiB / 1.787GiB   69.72%              2.81kB / 942B       117MB / 826kB       42
# 测试 es 是否成功
[root@zhujixiang /]# curl localhost:9200
{
  "name" : "78f2bcb8f7f7",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "SU_dWCwHRxGXp_DTb2Gx_A",
  "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"
}
# 赶紧关闭,增加内存的限制   修改配置文件 -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
# 查看 cpu 状态
[root@zhujixiang /]# docker stats
CONTAINER ID        NAME                CPU %               MEM USAGE / LIMIT        MEM %               NET I/O             BLOCK I/O           PIDS
af4e2b13880f        elasticsearch02     0.01%               361.5MiB / 1.787GiB   19.76%              2kB / 0B            108MB / 813kB       42

使用 kibana 连接 es

Docker 小练习 安装 nginx,tomcat,es + kibana_第2张图片

 PS:我只是一个刚刚开始学习 Docker 的小白,学习源自B站 遇见狂神说 

你可能感兴趣的:(Docker)