性能分析-docker知识(安装、常用命令、监控)

docker的相关概念

参考1 ,参考2

docker是一个做系统虚拟化的软件,跟vmware类似,虚拟出来的也是操作系统。我们现在在企业中, 使用docker虚拟出来的系统,大多都是linux系统。

docker镜像image:就是虚拟一个docker容器需要的操作系统、服务的依赖、服务包,打包成的一个文 件。

docker容器 container:就是用docker软件虚拟出来的一个linux操作系统。

docker仓库:就是管理镜像的地方。

  • 公有仓库:hub.docker.com,所有人都可以在这里免费下载镜像
  • 私有仓库: 管理私有镜像的仓库

docker的操作系统是一个不完整的操作系统。部署项目的操作系统,有很多操作系统的功能是不需要的。把一些不需要的功能,全部从操作系统中移出出去。那么这个操作系统就给变得非常小了。小到这 个操作系统,只有三个部分是必须的:cgroups、namespace、unionFS。所以容器就可以变得非常小。所以,它占用宿主机的资源就很小。所以一台机器就可以参数更多容器出来。

因为docker容器的操作系统,砍掉了很多功能,所以里面可以执行linux命令,但是不是所有的命 令都可以执行。

一个宿主机上,给运行多个docker容器,容器与容器之间默认是相互隔离的。

docker安装

yum install -y yum-utils device-mapper-persistent-data lvm2
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
systemctl restart docker # 重启
systemctl enable docker #开机自启动

docker命令使用,需要超管权限。

获取帮助: docker --help

查看到docker子命令的帮助: docker command --help

常用到命令

  • docker pull     下载镜像到本地,命令用法: docker pull 镜像名称:tag
    • 默认是从docker官方网站上下载镜像: docker pull tomcat:8.0.53-jre7-alpine 下载tomcat为8.0.53 jre为7的tomcat镜像
  • docker images  列出所有本地镜像
  • docker run  创建容器并运行 docker run -itd --cpus 1 --memory 2G --name tomcat-kyj-1 -p 6666:8080 tomcat:8.0.53-jre7-alpine
    • docker create 只是创建一个新容器,创建之后,并没有运行。
    • 使用docker run 命令,常用选项参数:
      • -i 
      • -t
      • -d
      • --name  自定义容器的名称,这个参数可以不带,不带就随机生成一个容器名称
      • -p  发布容器的端口个宿主机。  -p  宿主机的端口:容器中服务的端口
      • -v  卷积    把宿主机的一个路径映射到容器中一个路径。 当容器被删除时,这个宿主机的 路径下的内容不会删除。
      • -e 设置环境变量 docker run 命令,在创建容器时,如果使用的镜像,本地没有就会去自动下载
  • docker logs 容器名称或容器id
  • docker ps 查看容器状态,默认时只显示正在运行的容器,跟上-a参数,显示所有的容器‘容器id’和‘容器的名称’
  • docker stats 容器名称或容器id,可以来查看容器的运行状态
  • docker inspect 容器名称或容器id,用来查看容器的相信信息
  • docker network  容器网络  docker network ps显示所有的容器网络
  • docker cp  拷贝
    • docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-   从容器中拷贝到本地路径
    • docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH  从本地拷贝到容器中某个路径
  • docker exec 在一个运行中的容器中执行命令
    • docker exec -it 容器名称或容器id /bin/bash   进入容器内部,使用bash命令一般情况 使用bash,也可以使用sh
    • exit 退出容器

创建mysql数据库容器

docker run -itd --name mysql-1 -p 5566:3306 -e MYSQL_ROOT_PASSWORD=123456780
mysql:5.7.41

创建好了数据库容器之后,创建lemon_erp库,对库进行初始化操作

用docker方式,部署lemon-erp项目

docker pull openjdk:8
docker run -itd --name erp-1 -p 8882:8082 openjdk:8
docker cp lemon_erp.jar erp-1:/opt/lemon_erp.jar
docker cp config/ erp-1:/opt/config/
# 修改 config文件夹中 application-dev.yml文件中数据库的配置
docker cp application-dev.yml erp-1:/opt/config/application-dev.yml
docker exec -it erp-1 /bin/bash
cd /opt
nohup java -jar lemon_erp.jar &
exit

监控docker  

详见

grafana + Prometheus + docker监控

cadvisor

docker run --volume=/:/rootfs:ro --volume=/var/run:/var/run:ro --
volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --
volume=/dev/disk/:/dev/disk:ro --publish=8880:8080 --detach=true --name=cadvisor
--privileged --device=/dev/kmsg google/cadvisor

修复prometheus.yml

启动Prometheus和grafana

引入模板 193

如果公司用k8s,它的配置文件yml文件,与dockerfile类似。

docker 与 k8s

docker是一个用于管理和创建容器的软件

k8s,是容器的集成管理工具,这个工具集成了docker的能力。

以前,k8s创建容器,就是用docker

所以掌握了 docker知识k8s的使用就变得简单了。

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,我无法直接提供脑图。但是我可以给你一个关于 Docker 学习的大致路线,你可以根据这个路线来安排自己的学习计划: 1. Docker 基础知识: - 了解 Docker 的概念和基本术语 - 学习 Docker 的架构和组件 - 安装和配置 Docker 2. Docker 容器操作: - 学习使用常用的 Docker 命令,如创建、启动、停止和删除容器 - 掌握容器和宿主机之间的文件共享和数据卷的使用 - 学习容器的网络配置和端口映射 3. Docker 镜像操作: - 学习使用 Docker 命令构建、推送和拉取镜像 - 了解如何使用 Dockerfile 定义镜像的构建过程 - 学习使用多阶段构建和缓存优化来优化镜像构建过程 4. Docker 网络和存储: - 掌握 Docker 网络的基本概念,如桥接网络、主机网络和覆盖网络 - 学习使用 Docker 命令创建和管理网络 - 了解 Docker 数据卷和持久化存储的使用方法 5. Docker Compose: - 学习使用 Docker Compose 来定义和管理多个容器的应用 - 掌握编写 Compose 文件来描述应用的服务、网络和存储 6. Docker Swarm: - 了解 Docker Swarm 的基本概念和架构 - 学习使用 Docker Swarm 命令创建和管理集群 - 掌握在 Swarm 集群上部署和管理应用的方法 7. Docker 安全和监控: - 了解 Docker 的安全特性和最佳实践 - 学习使用 Docker 命令和工具进行容器和镜像的安全扫描 - 了解如何监控和调优 Docker 容器和集群的性能 8. Docker 应用部署和管理: - 学习使用 Docker 部署常见的应用,如 Web 应用、数据库和消息队列等 - 了解如何通过容器编排工具(如 Kubernetes)来管理大规模的容器化应用 这只是一个大致的学习路线,你可以根据自己的需求和兴趣来调整和扩展。同时,结合实践和项目经验,会更加有助于你对 Docker 的理解和应用。祝你学习顺利!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值