2022-03-18 21:23阅读: 80评论: 0推荐: 0

Docker作业练习

Docker安装Nginx

# 1、搜索镜像          search         建议大家去docker搜索,可以看到详细信息和帮助文档
docker search nginx
# 2、下载镜像          pull
docker pull nginx
# 3、运行测试
[root@localhost /]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
nginx              latest    f652ca386ed1   12 days ago    141MB
centos            latest    5d0da3dc9764   2 months ago   231MB

# -d   后台运行
# --name   给容器命名
# 宿主机端口:容器内部端口(端口暴露)
# -p 3344:80把内部的80映射到外部的3344,从公网的3344可以访问docker里的80
[root@localhost /]# docker run -d --name nginx01 -p 3344:80 nginx
b2f976d2f0636b64dce4cfd43661a978a82a3f53ae3ba127dda9861ad01f9681

# 查看正在启动的容器
[root@localhost /]# docker ps
CONTAINER ID   IMAGE     COMMAND      CREATED      STATUS      PORTS            NAMES
b2f976d2f063   nginx     "/docker-entrypoint.…"   :::3344->80/tcp               nginx01

# 4、本机测试
# <title>Welcome to nginx!</title>
[root@localhost /]# curl localhost:3344
<!DOCTYPE html>
<html>
<head>

<title>Welcome to nginx!</title>

<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
[root@Linux ~]#

# 5、外网访问
http://192.168.22.129:3344

# 6、进入容器
[root@localhost /]# docker exec -it nginx01 /bin/bash
root@b2f976d2f063:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
root@b2f976d2f063:/# cd /etc/nginx
root@b2f976d2f063:/etc/nginx# ls
conf.d        mime.types  nginx.conf     uwsgi_params     fastcgi_params    modules     scgi_params
# 退出容器
root@b2f976d2f063:/etc/nginx# exit
exit

# 停止docker容器
[root@localhost /]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS          NAMES
b2f976d2f063   nginx     "/docker-entrypoint.…"   22 minutes ago   Up 22 minutes   0.0.0.0:3344->80/tcp, :::3344->80/tcp   nginx01
[root@localhost /]# docker stop b2f976d2f063
b2f976d2f063

思考问题:每次改动nginx配置文件,都需要进入容器内部,若可以在容器外部提供一个映射路径,若容器外修改,那么容器内可以自动修改—— -v 数据卷

Docker安装Tomcat

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

# 先下载再启动
docker pull tomcat:9.0
# 启动运行
# -d   后台运行
# --name   给容器命名
# 宿主机端口:容器内部端口
docker run -d -p 3355:8080 --name tomcat01 tomcat

# 测试访问没有问题
# 进入容器
[root@localhost ~]# docker exec -it tomcat01 /bin/bash
# 发现问题,linux命令少了,没有webapps,阿里云镜像的原因,默认是最小的镜像,所有不必要的都剔除了
# 保证最小的可运行环境
# 文件都在webapps.dist中,将webapps.dist中的文件拷贝到webapps中
root@f0cfd5823fc5:/usr/local/tomcat/webapps# cp -r webapps.dist/* webapps
# 外网可以访问
http://192.168.22.129:3355/

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

部署es + kibana

# es 暴露的端口很多且十分耗内存
# es 的数据一般需要放置到安全目录
# --net somenetwork     网络配置
# 启动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的状态
# es是十分耗内存的,一点几个G
# 停止tomcat
docker stop tomcatID

# 查看CPU状态:docker stats    Ctrl+C退出查看状态

# 测试一下es是否成功
curl localhost:9200
# 成功后关闭,增加内存限制——修改配置文件   -e   环境配置文件修改
docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2

本文作者:风帆远航

本文链接:https://www.cnblogs.com/flying-birds-xyg/p/16023650.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   风帆远航  阅读(80)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 404 not found REOL
404 not found - REOL
00:00 / 00:00
An audio error has occurred.