docker学习3------作业相关(14-17集)

目录

作业1、docker安装Nginx

主要是端口映射命令学习

端口暴露概念

思考:每次修改Nginx配置文件,都要进入容器内,特麻烦?在容器外部提供一个映射路径,达到容器外修改文件,容器内自动修改? -v数据卷

作业2、docker装一个Tomcat

思考:每次部署项目,都要进入容器内,特麻烦?在容器外部提供一个映射路径,webapps

作业3、部署es+kibana

作业:使用 kibana连接es ? 思考网络如何才能连接过去

 可视化


作业1、docker安装Nginx

主要是端口映射命令学习

docker run -d --name nginx01 -p 3344:80 nginx

# 1、搜索镜像 search 建议去docker上搜索,可以看到详细信息和帮助文档
[root@k2 ~]# docker search nginx
# 2、下载镜像
[root@k2 ~]# docker pull nginx
# 3、运行测试
[root@k2 ~]# docker images     # 查看镜像
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
nginx         latest    de1111b9436b   36 hours ago   142MB

# -d 后台运行
# --name 给容器命名
# -p 宿主机端口:容器内部端口
[root@k2 ~]# docker run -d --name nginx01 -p 3344:80 nginx
50666666ad4e9e6b9666666666c8ec08666666633
[root@k2 ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                                   NAMES
50c35333a98   nginx     "/docker-entrypoint.…"   57 seconds ago   Up 57 seconds   0.0.0.0:3344->80/tcp, :::3344->80/tcp   nginx01
[root@k2 ~]# curl localhost:3344

# 查看浏览器 http://IP:3344/      注意:这个ip是开放端口的电脑的ip

# 进入容器
[root@k3 ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                                   NAMES
506666e98   nginx     "/docker-entrypoint.…"   38 minutes ago   Up 38 minutes   0.0.0.0:3344->80/tcp, :::3344->80/tcp   nginx01
[root@k3 ~]# docker exec -it nginx01 /bin/bash
root@506666e98:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
root@5066666e98:/# cd /etc/nginx/
root@5066666e98:/etc/nginx# ls
conf.d  fastcgi_params  mime.types  modules  nginx.conf  scgi_params  uwsgi_params
root@5066666e98:/etc/nginx# 

# 停止容器
root@503666w98:/etc/nginx# exit
exit
[root@k3 ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                                   NAMES
506666e98   nginx     "/docker-entrypoint.…"   43 minutes ago   Up 43 minutes   0.0.0.0:3344->80/tcp, :::3344->80/tcp   nginx01
[root@k3 ~]# docker stop 5066666e98
506666e98
# 查看浏览器 http://IP:3344/

端口暴露概念

思考:每次修改Nginx配置文件,都要进入容器内,特麻烦?在容器外部提供一个映射路径,达到容器外修改文件,容器内自动修改? -v数据卷

作业2、docker装一个Tomcat

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


# 下载再启动
docker pull tomcat

# 启动运行
docker run -d -p 3355:8080 --name tomcat01 tomcat 

# 测试访问没有问题
# IP:3355  访问失败

# 进入容器
 docker exec -it tomcat01 /bin/bash
 ls
# 发现问题:1、Linux命令缺失  2、没有WebApps,阿里云镜像的原因,默认是最小的镜像,所有不必要的都剔除,保证最小可运行的环境
 
[root@k3 ~]#  docker exec -it tomcat01 /bin/bash
root@c95eb14e8fd4:/usr/local/tomcat# 
root@c95eb14e8fd4:/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@c95eb14e8fd4:/usr/local/tomcat# cd webapps
root@c95eb14e8fd4:/usr/local/tomcat/webapps# ls
root@c95eb14e8fd4:/usr/local/tomcat/webapps# cd ..
root@c95eb14e8fd4:/usr/local/tomcat# cd webapps.dist/
root@c95eb14e8fd4:/usr/local/tomcat/webapps.dist# ls
ROOT  docs  examples  host-manager  manager
root@c95eb14e8fd4:/usr/local/tomcat/webapps.dist# cd ..
root@c95eb14e8fd4:/usr/local/tomcat# cp -r  webapps.dist/* webapps
root@c95eb14e8fd4:/usr/local/tomcat# cd webapps
root@c95eb14e8fd4:/usr/local/tomcat/webapps# ls
ROOT  docs  examples  host-manager  manager

思考:每次部署项目,都要进入容器内,特麻烦?在容器外部提供一个映射路径,webapps

作业3、部署es+kibana

# es 暴露的端口很多
# es 十分耗内存
# es 的数据一般需要放置到安全目录,挂载
# --net ? 网络配置

[root@k2 home]# docker network create somenetwork-net
# 启动 elasticsearch
docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2

# 启动了 Linux就卡住了,docker stats 查看CPU状态


# 查看docker stats 
# 赶紧关闭,增加内存的限制

# 赶紧关闭,增加内存的限制,修改配置文件 -e 环境配置修改
docker run -d --name elasticsearch02 --net somenetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2


[root@k3 ~]# curl localhost:9200
{
  "name" : "73ca196f0e2b",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "Tp1Ui1grShONIGapLhiwgg",
  "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"
}

作业:使用 kibana连接es ? 思考网络如何才能连接过去

 可视化

portainer(先用这个)

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

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

 Rancher(CI/CD调用)

访问测试:外网:8088

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值