Docker-04-命令实战练习

Docker-04-命令实战练习

mark

镜像下载:https://hub.docker.com/

1. Docker 安装 Nginx

dockerhub-nginx: https://hub.docker.com/search?q=nginx&type=image

需要用到的命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 1. 搜索镜像
docker search nginx
# 2. 下载镜像
docker pull nginx
# 3. 开启nginx(后台运行 名字是nginx01 端口号映射 服务名称)
docker run -d --name nginx01 -p:3344:80 nginx
# 4. 本机测试
curl localhost:3344

# 5. 进入容器
docker exec -it nginx01 /bin/bash

# 6. 退出容器
docker stop 容器id

mark

端口原理分析:

mark

外网测试:(ip+port访问docker镜像)

mark

思考问题:

  • 每次配置nginx配置文件,都需要进入容器内部,那么如何在外部修改做到同步到容器内部呢?

答:数据卷技术(后面会详细说明)

2. Docker 安装 Tomcat

1
2
3
4
5
6
7
8
9
10
11
# 1. 下载
docker pull tomcat:9.0

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

# 3. 出现的问题
从外部访问出现404 error
原因:阉割版本的(保证最小可运行的环境)

## 4. 解决 将webapps.dist 拷贝到 webapps目录即可

思考问题:

  • 每次配置tomcat配置文件,都需要进入容器内部,那么如何在外部修改做到同步到容器内部呢?

答:数据卷技术(后面会详细说明)(提供一个映射路径)

3. Docker 部署 ES+kibana

官方文档:https://hub.docker.com/_/elasticsearch

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# es暴露的端口很多
# es十分耗内存

# 1. 下载启动
docker run -d --name elasticsearch01 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:tag

# 2. 启动了之后发现linux卡死
原因:es非常耗内存
(docker stats) 此时可以查看docker占cpu的资源

# 3. 修改配置增加内存限制
docker run -d --name elasticsearch02 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:tag

# 4. 测试
curl localhost:9200

那么问题来了 kibana一般和ES是同时使用的,既然docker的核心是进程隔离,那么我们怎么做到相互之间的通信呢?

答:Docker的网络原理(通过内网转发)

mark

打赏
  • 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!
  • © 2019-2022 Zhuuu
  • PV: UV:

请我喝杯咖啡吧~

支付宝
微信