小言_互联网的博客

Docker 作业练习

255人阅读  评论(0)

作业一:Docker 安装 Nginx

1 搜索镜像

搜索 Docker 镜像:https://hub.docker.com/

点击进入可以查看 docker 镜像信息信息,包括镜像版本,如下图: 

也可以使用 Docker 命令进行搜索:docker search nginx

建议大家去 docker hub 搜索,可以看到相关镜像的帮助文档

2 拉取镜像

命令:docker pull nginx

下载 nginx 镜像,查看本地镜像下载成功!

3 运行镜像

命令:docker run -d --name nginx_01 -p 3344:80 nginx

参数说明:

-d 后台运行

--name 给容器命名

-p 宿主机端口:容器内部端口

4 访问测试

命令:curl localhost:3344

可以看到 “Welcome to nginx!” 说明可以正常访问!

端口暴露的概念

 

在浏览器中访问 nginx 也是可以的

5 停止运行 

 查看正在运行的容器,进入 nginx_01 容器,查找 nginx 配置文件,在 /etc/nginx 目录下

退出容器,然后停止容器运行,再次访问失败!

思考问题:我们每次改动nginx配置文件,都需要进入容器内部?十分的麻烦,要是可以在容器外部提供一个映射路径,达到在容器修改文件名,容器内部就可以自动修改?

数据卷!

 

作业二:使用 Docker 安装 tomcat

1 查看官方使用

之前的启动都是后台,停止了容器,容器还是可以查到
docker run -it --rm image 一般是用来测试,用完就删除(暂时不建议)

使用命令 docker run -it --rm tomcat:9.0 启动容器,启动成功

Ctrl + c 停止运行 tomcat 容器,查看所有容器运行历史,没有找到 tomcat 容器,故:--rm image 参数用完就删除(暂时不建议)

2 下载镜像

命令:docker pull tomcat:9.0

3 启动运行镜像

命令:docker run -d -p 3355:8080 --name tomcat_001 tomcat:9.0

4 测试访问

可以正常测试访问,只不过是 404 错误

5 进入容器

命令:docker exec -it tomcat_001 /bin/bash

进入 tomcat_001 容器之后,发现 ll 命令无法正常使用,进入 webapps 命令,发现没有任何文件存在。出现两个问题:

1.Linux 命令变少了

2.没有 webapps

原因:阿里云镜像的原因,默认是最小的镜像,所有不必要的东西都剔除掉,保证最小可运行的环境。

解决办法:

文件夹 webapps 是空的,但是另外一个名为 webapps.dist 的文件夹,里面有tomcat完整的文件夹和文件,可以将目录下 webapps.dist 里文件复制到 webapps。

然后再次测试访问网站

思考问题:以后要部署项目,如果每次都要进入容器是不是十分麻烦?要是可以在容器外部提供一个映射路径,比如:webapps,我们在外部放置项目,就自动同步内部就好了!

注:docker 容器中放有 tomcat、网站、数据库,万一不小心把容器删除呢?跑路???这种方法不太科学

作业三:部署es+kibana

es 暴露的端口很多!
es 十分耗内存
es 的数据一般需要放置到安全目录!挂载

1 查看官方使用

官方启动命令:docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:tag

--net somenetwork:网络配置

2 启动 elasticsearc

注:启动之前最好把其他容器终止运行

命令:docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2

启动之后就发现,Linux 服务器非常卡顿(es是否消耗内存),甚至卡死

3 查看 CPU 的状态

命令:docker stats

4 测试 es

命令:curl localhost:9200

5 关闭 es

命令: docker stop 容器id

6 添加内存的限制

修改配置文件 -e 环境配置修改:限制内存范围为 64M-512M

命令: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

7 再次查看 CPU 的状态

命令:docker stats

8 再次测试 es

命令:curl localhost:9200

思考问题:使用kibana连接es?思考网络如何才能连接。


如果对您有帮助,赏口饭吃❤谢谢老板❤ 

 


转载:https://blog.csdn.net/apollo_miracle/article/details/115978545
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场