作业一 :部署nginx
docker search nginx # 搜索镜像
docker pull nginx #下载
docker images # 查看镜像
docker run -d --name nginx01 -p 3344:80 nginx # 后台启动 --name 命名
本机测试
curl localhost:3344
# 进入容器
[root@tianqinglong home]# doker exec -it nginx01 /bin/bash # 进入容器
root@495da2065213:/ # whereis nginx
nginx: /usr/sbin/nginx /usr/1ib/nginx /etc/nginx /usr/share/nginx
root@495da2065213:/# cd /etc/nginx
root@495da2065213:/etc/nginx/ # ls
conf.d fastcgi_params koi-utf koi-win mime.types modules nginx.conf scgi_params uwsgi_paramswin-utf
思考问题∶我们每次改动nginx配置文件,都需要进入容器内部?十分的麻烦,我要是可以在容器外部提供一个映射路径,达到在容器外修改文件名,容器内部就可以自动修改? -v 数据卷
作业二:部署tomcat
# 官方的使用
docker run -it --rm tomcat:9.0
# 我们之前的启动都是后台,停止了容器之后,容器还是可以查到 docker run -it --rm,一般用来测试,用完就删除
# 自己来
docker pull tomcat
# 启动运行
docker run -d -p 3355:8080 --name tomcat01 tomcat
# 测试访问 服务器id:3355 not Found
# 进入容器
docker exec -it tomcat01 /bin/bash
ls -al
# 发现问题 1、linux命令少了 2、没有webapps
# 阿里云镜像的原因。默认是最小的镜像,所有不必要的都剔除掉。
cp -r webapps.dist/* webapps
思考问题∶我们以后要部署项目,如果每次都要进入容器是不是十分麻烦? 我要是可以在容器外部提供一个映射路径,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:7.6.2
# 启动了 linux就很卡~
docker stats # 查看cpu的状态 发现占的内存超大!
# es 是十分耗内存的 1.xG
# 测试是否成功
curl localhost:9200
# 赶紧关闭 增加内存的限制 ,修改配置文件 -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
docker stats # 查看cpu的状态 发现占的内存很小咯
curl localhost:9200 # 测试是否成功 也没问题
作业: 使用kibana连接es ? 思考网络如何才能连接过去
Portainer可视化面板安装
-
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
访问测试 外网 80800 http://ip:8088
界面
可视化面板我们平时不会使用,大家自己测试玩玩即可!