docker基础练习

练习

nginx

[root@localhost home]# docker search  nginx
[root@localhost home]# docker pull nginx
[root@localhost home]# docker images
REPOSITORY    TAG            IMAGE ID       CREATED         SIZE
alpine        xiaowangc1.0   b5226f57471e   3 weeks ago     249MB
nginx         latest         605c77e624dd   6 months ago    141MB
hello-world   latest         feb5d9fea6a5   9 months ago    13.3kB
centos        latest         5d0da3dc9764   10 months ago   231MB
#-d 后台运行  --name起名字  -p端口设置
[root@localhost home]# docker run -d --name nginx11 -p 3344:80 nginx
c71d3d33d66061c5872fac4d1024a23177511324995d2258fe30987888909923
#查看运行状态
[root@localhost home]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                                   NAMES
c71d3d33d660   nginx     "/docker-entrypoint.…"   3 minutes ago   Up 3 minutes   0.0.0.0:3344->80/tcp, :::3344->80/tcp   nginx11

#进入容器
[root@localhost home]# docker exec -it nginx11 /bin/bash
root@c71d3d33d660:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
root@c71d3d33d660:/#

端口暴露的概念
image.png

部署tomcat

在docker hub 查看tomcat的版本
https://hub.docker.com/search?q=tomcat

#官方的使用
docker run -it --rm tomcat:9.0
#之前的启动都是后台,停止了容器之后还可以查到
#官方的使用,用完就会删除d
docker run -it --rm
#下载启动
[root@localhost ~]# docker pull tomcat:9.0
#启动测试
[root@localhost ~]# docker run -d -p 3355:8080  --name tomcat01 tomcat
8e7329b4c2769101de8302ddb4a470bf1288aa9ad378b4f86b189aa987f0ab2b
#测试访问没问题

#进入容器
[root@localhost ~]# docker run -it tomcat /bin/bash
root@2bc3bb1e618f:/usr/local/tomcat#

#发现问题  1.linux命令少了   2.没有webapps  原因:镜像原因,默认最小化
很多功能被阉割了,保证最小化运行

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

部署 ES+Kibana

#ES暴露的端口很多
#ES很占用内存
#ES需要放置在安全目录  挂载  

#--name elasticsearch   网络配置

#启动elasticsearch 
 docker run -d --name elasticsearch  -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2
 #启动了,发现整个虚拟机卡顿   docker stats 查看cpu的状态
 #关闭ES 进行内存的限制     
 #通过-e进行内存大小的限制  -e ES_JAVA_OPTS="-Xms64m _Xms512m"
 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 
 

image.png
Kibana的原理:

image.png

可视化

#portainer(先用这个)

docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portain
#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/portain
docker volume create portainer_data
docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
cd /usr/libexec/docker/
sudo ln -s docker-runc-current docker-runc

使用http//:ip地址:端口测试

http://192.168.130:9000

进行用户的创建
image.png
选择仓库(建议选择本地的)
image.png
进入之后的面板
image.png
可以清楚的看到本地的容器的一些信息
image.png

可视化面板很少使用

posted @ 2022-11-26 15:33  yutoujun  阅读(81)  评论(0编辑  收藏  举报