Study-04-Docker部署

一、Docker 安装 Nginx

1. 搜索镜像 search (在官网搜索,可以看到帮助文档)

2. 下载镜像 pull

docker pull nginx

[root@liustudy ~]# docker images
    REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
    nginx         latest    605c77e624dd   3 months ago    141MB
    hello-world   latest    feb5d9fea6a5   6 months ago    13.3kB
    centos        latest    5d0da3dc9764   6 months ago    231MB
    mysql         8.0.23    cbe8815cbea8   12 months ago   546MB

参数解释:
	-d 后台运行
	--name  给容器命名
	-p	宿主机端口,容器内部端口
[root@liustudy ~]# docker run -d --name nginx01 -p 9000:80 nginx
    ecfd0ee4824caca14b1b6c8cecc43eb2ac41e19cac768cae27a8a3e14b98d7b8[root@liustudy ~]# docker ps
    CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                  NAMES
    ecfd0ee4824c   nginx     "/docker-entrypoint.…"   7 seconds ago   Up 6 seconds   0.0.0.0:9000->80/tcp   nginx01
[root@liustudy ~]# curl localhost:9000 (从本机访问端口)

3.端口暴露概念
端口暴露4.进入容器

[root@liustudy ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                  NAMES
ecfd0ee4824c   nginx     "/docker-entrypoint.…"   18 minutes ago   Up 18 minutes   0.0.0.0:9000->80/tcp   nginx01
[root@liustudy ~]# docker exec -it nginx01 /bin/bash
root@ecfd0ee4824c:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
root@ecfd0ee4824c:/# cd /etc/nginx
root@ecfd0ee4824c:/etc/nginx# ls
conf.d	fastcgi_params	mime.types  modules  nginx.conf  scgi_params  uwsgi_params

5.思考问题
每次改动nginx配置文件,都需要进入容器内部,十分的麻烦,如果可以在容器外部提供一个映射路径,达到在容器外部修改文件,容器内部就可以自动修改。(数据卷技术)

二、Docker 安装 Tomcat

#官方的使用
docker run -it --rm tomcat:9.0
#我们之前的启动都是后台,停止容器后还可以查到。但官方的命令,一般是用来测试,用完即删除。
#常规:下载启动
docker pull tomcat:9.0

#启动运行
docker run -d -p 9000:8080 --name tomcat02 tomcat

#测试访问没有问题
#进入容器
[root@liustudy home]# docker exec -it tomcat02 /bin/bash
#发现问题
1.linux命令少了
2.没有webapps
原因:阿里云镜像的原因,默认最小的镜像,所有不必要的都要剔除掉,保证最小可运行环境。

#查看文件
ls -al
#进入webapps目录下发现是空的
#进入webapps.dist目录下有web配置文件
#将webapps.dist中的文件复制到webapps中
cp -r webapps.dist/* webapps
然后在浏览器通过公网IP访问配置的端口9000,发现可以访问到Tomcat的官方页面。

思考问题:以后每次部署项目,都要进入容器十分麻烦。要是可以在容器外提供一个映射路径,WebApps , 在外部部署放置项目,就自动同步到内部。

三、Docker 安装 es+kibana

#es 暴露的端口很多
#es 十分的耗内存
#es 数据一般需要放置到安全目录,挂载
#启动 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的状态

# 查看docker stats
# 测试es 是否成功
[root@liustudy home]# curl localhost:9200
{
  "name" : "52185fb4ec66",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "fpLv3zzdTGGxyg_HFfbAMg",
  "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"
}

查看内存情况
docker stats
在这里插入图片描述增加内存限制,修改配置文件 -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 stats(已经控制到合理范围内了)
内存容器内部相互隔离,不能直接通过端口连接,所以需要通过网络处理才能进行连接。
在这里插入图片描述可视化

  • portainer
docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer
  • Rabcher(CI/CD再用)

什么是portainer?
Docker 图形化界面管理工具,提供一个后台面板供我们操作。

docker run -d -p 8088:9000 portainer/portainer
# 测试
[root@liustudy /]# curl localhost:8088
<!DOCTYPE html
><html lang="en" ng-app="portainer">
 
# 外网访问 http://ip:8088

访问后进入主页面:
在这里插入图片描述选择本地
在这里插入图片描述进入之后的面板
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

记录菌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值