Docker笔记01

文章对比了Docker和传统虚拟机在资源利用、部署效率和系统运维上的差异,强调Docker的轻量级特性。Docker使得应用部署更加便捷,如通过镜像快速创建和管理容器,实现快速交付和扩缩容。同时,文章提到了Docker在限制内存使用和通过Portainer进行图形化管理方面的应用。
摘要由CSDN通过智能技术生成

Docker 和 虚拟机的不同

  1. 传统虚拟机,虚拟出一条硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件
  2. 容器内的应用直接运行在宿主机的内容,容器时没有自己的内核的,也没有虚拟硬件,所以轻便
  3. 每个容器间是相互隔离,每个容器都有一个属于自己的文件系统,互不影响

DevOps(开发、运维)

应用更快速的交付和部署

传统:一堆帮助文档,安装程序

Docker:打包镜像发布测试,一键运行

更快捷的升级和扩缩容

使用了Docker之后,我们部署应用就和搭积木一样

项目打包成一个镜像,扩展 服务器A 服务器B

更简单的系统运维

在容器化之后,我们的开发,测试环境都是高度一致

更高效的计算资源利用

Docker 是内核级别的虚拟化,可以在一个物理机上运行很多容器实例,服务器的性能可以被压榨到极致。

结构

镜像(image):

docker镜像就好比是一个模板,可以通过这个模板来创建容器服务。

通过镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中)

容器(container)

Docker利用容器技术,独立运行一个或者一个组的应用,通过镜像来创建

启动、停止、删除、基本命令

简单理解为一个简易的linux系统

仓库(repository)

仓库是存放镜像的地方

仓库分为共有仓库和私有仓库

Docker Hub(默认国外的)

使用

docker pull XXX 下载容器

docker images 查看容器

docker run -d --name nginx01 -p 3344:80 nginx 公网3344访问nginx80端口

  • -d 后台运行
  • --name 给容器命名
  • -p 宿主机端口

curl localhost:3344 查看本机端口

思考问题

我们以后要部署项目,如果每次都要进入容器很麻烦,可以在容器外部提供一个映射路径,webapps

部署es + kibana

ES 暴露端口很多

ES 十分耗内存

ES 的数据一般需要放置到安全目录!挂载

ocker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2

启动了 Linux就卡住了 docker stats 查看cpu的状态

es 限制内存

docker run -d --name es01 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2

可视化

  • portainer
  • 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/portainer

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值