docker 练习

practise nginx

搜索nginx  也可以去网站(https://hub.docker.com/_/nginx)
docker  search  nginx
(看英文排错 iptab的错可以重启)
docker    run  -d  --name nginx01 -p 3344:80 nginx
curl localhost:3344     
-p  宿主机端口:容器端口  (容器端口为80,设置这一条主要是与虚拟机的端口形成映射访问虚拟机3344端口时,来到容器)
http:192.168.1.133:3344
运行测试
whereis   nginx   (输出nginx的文件)
[root@docker ~]# docker exec -it nginx90 /bin/bash
root@f15be14eb8d5:/# 
root@f15be14eb8d5:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
root@f15be14eb8d5:/# cd /etc/nginx/
root@f15be14eb8d5:/etc/nginx# 
root@f15be14eb8d5:/etc/nginx# ls
conf.d  fastcgi_params  mime.types  modules  nginx.conf  scgi_params  uwsgi_params
root@f15be14eb8d5:/etc/nginx# 
进入容器内改配置文件
如何做到在外部修改映射文件,然后内部docker自动修改配置?

tomcat
docker run -it --rm tomcat:9.0     
--rm  阅后即焚   退出了就删掉
docker run -d -p 3351:8080 --name tomcat2201  tomcat:9.0
运行9.0版本的镜像
docker  exec -it  tomcat932 /bin/bash
运行被阉割了,并且linux命令少了。保证最小可运行环境
webapps没有文件
但是webapps.dist有文件,将他们拷贝到webapps
容器外提供映射路径

es+kibana
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2
--net  somenetwork  ?网络配置
-e "discovery.type=single-node"    集群配置
es 暴露端口多  es 十分耗内存 es数据一般需要放置到安全目录  挂载
启动后非常卡
docker stats     查看内存状态
men usage / limit
1.25g       /3.84g
测试
curl localhost:9200
成功,关掉es(太卡了)
增加内存限制,修改配置文件  -e  环境配置修改
docker run -d --name elasticsearch02 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node"  -e ES_JAVA_OPTS="-Xms64m -Xms512m"  elasticsearch:7.6.2
最大512m内存  限制运行环境内存
756.9MiB / 3.84GiB
测试
curl localhost:9200

使用kibanna连接es
Docker网络原理

可视化
portainer
docker 图形化界面管理工具,提供后台面板供启动
docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock  --privileged=true portainer/portainer
--restart =always  状态?
-v 为挂载到本机  --privileged=true  授权 
安装控制面板portainer/portainer
访问测试 
http://192.168.1.133:8088/#/init/admin
选择local
(页面做的还可以)

docker镜像讲解

所有引用直接打包部署
从远程仓库下载
朋友拷贝
自己制作镜像
UniosFS 联合文件系统
分层下载
新增与叠加
tomcat的下载centos mysql则不用下载
拥有就不用了重新下载
docker的镜像由一层一层构成
容器的boot层没了 但是内核使用的是主机的(底层的内核引导不会再次启动)

docker inspect layers
layers有很多层
列如第一层,有人安装过了他就不做了
安装未安装的
镜像每操作一步就会加一层,层楼之下的软件将被复用,不会再安装
版本升级则会替换

特点
启动tomcat 原来的镜像+操作的内容 可以被打包成新镜像
镜像层 无法改变 run之后则会新加一层 再次被打包

posted @ 2022-03-29 16:37  supermao12  阅读(67)  评论(0编辑  收藏  举报