当前位置: 首页 > news >正文

Docker 学习笔记

Docker 学习笔记

  • 学习视频链接:
    【【GeekHour】30分钟Docker入门教程】 https://www.bilibili.com/video/BV14s4y1i7Vf/?p=5&share_source=copy_web&vd_source=fb850db820b823205dfea926dc8f484d
    【给片哥的Docker教程】 https://www.bilibili.com/video/BV1vxcweoEJS/?share_source=copy_web&vd_source=fb850db820b823205dfea926dc8f484d
  • github笔记地址:https://github.com/anwei85/study_note

安装

官网:https://www.docker.com/

Docker启动之后,会在右上角的菜单栏看到一个小鲸鱼的图标(即Docker的Logo)

如果看不到这个Logo图标,可以在Launchpad中找到Docker,然后启动它;如果使用的是Windows系统,则需先开启Hyper-V功能/开启linux所需插件下载wsl,否则Docker无法正常工作。

开启的方式是在控制面板中找到程序,搜索Hyper/linux所需插件,启用或关闭Windows功能,然后勾选Hyper-V/linux所需插件+虚拟机平台,之后按照提示重启电脑,wsl还有一步操作,要在cmd中输入wsl --install下载wsl2,安装好后输入wsl -v可查看到版本号即为成功。

中文汉化地址:DockerDesktop-CN,将下载的文件解压至 C:\Program Files\Docker 目录下,检查 Docker Desktop 版本,备份并替换 app.asar 文件,路径一般默认为C:\Program Files\Docker\Docker\frontend\resources,完成替换后,重新启动该程序

新版windows无法使用汉化包了,需要使用脚本:DDCS

一、docker简介

  1. docker定义
    docker是一个用于构建(bulid),运行(run),传输(share)应用程序的平台

    一般打包如下环境

  2. 为什么要使用Docker
    运用传统部署项目的方式太过麻烦,如果需要把这个网站部署到测试环境或者生产环境上,上述所有步骤都需要在新的环境上再来一遍。而运用docker,只要在开发环境中能部署成功,那在测试中也必然能部署成功

  3. docker和虚拟机,容器的区别

    1. 与虚拟机相比:
      大部分情况下,我们的一台服务器上只需要运行一个主要对外提供服务的应用程序,不需要所有功能,但是虚拟机却需要启动完整的操作系统,包括操作系统的内核、各种系统服务、工具、甚至图形界面等一些我们不需要的服务,占用大量资源,从而导致资源浪费和启动速度慢。

    2. 与容器相比:

    Docker和容器是两个不同的概念,Docker是容器的一种实现,是一个容器化的解决方案和平台。容器是一种虚拟化技术,与虚拟机类似,也是一个独立的环境,可以在该环境中运行应用程序,由于不需要启动操作系统,容器的启动速度更快;需要的资源更少,所以可以在一台物理服务器上运行更多的容器。

二、基本概念

  1. 镜像(images)
    镜像是一个只读的模板,它可以用来创建容器。
  2. 容器(containers)
    容器是Docker的运行实例,它提供了一个独立的可移植的环境,可以在该环境中运行应用程序。

    镜像和容器的关系:镜像就像是一个食谱,详细描述了如何制作一道菜肴,容器就是厨师根据这个食谱,做出来的那道菜品。只要严格按照食谱的要求去做,那么做出来的菜就是一样的。而且把这个食谱分享给其他人,那它也可以根据食谱,做出一样的菜品。

  3. 仓库(Registry)
    Docker仓库是用来存储Docker镜像的地方,最流行和常用的仓库就是Dockerhub。

    还是食谱的例子,你发明了一道非常美味的菜品,那么可以把这个食谱(镜像)放到Dockerhub上,这样其他人就可以根据这个食谱做出一模一样的菜品了。

  4. dockerfile
    文本文件包含指令告诉docker如何配置镜像,一般有应用程序,应用程序的环境变量、依赖包,基本的系统,应用程序的运行环境等

    运行步骤:

三、操作实例

在本地创建并运行镜像

FROM node:24-alpine # from 添加镜像 # alpine linux发行版之一,比较轻量级,前面数字为node.js的版本号 COPY index.js /index.js # COPY复制程序文件 source文件名 dest根路径/目的路径 CMD [ "node","/index.js" ]

输入docker bulid -t 命名 .(点表示文件当前所在的目录)
可以使用docker imagedocker image ls来查看所有镜像

版本号不设定,默认为latest,指定版本在名字后面加上:版本号

运行镜像:docker run 名字

可以输入clear命令来视觉上清空终端屏幕内容,且不会影响之前的命令历史,命令历史仍然存在,可以通过向上的箭头键来查找之前的命令。

如果想要在另一个环境中运行这个应用程序,只需要复制镜像文件,然后执行一下刚刚的命令即可。
也可以把这个镜像文件上传到DockerHub或者Harbor镜像仓库中,然后任何人都可以在任何地方,使用docker pull 用户名/镜像名称命令来下载这个镜像文件,然后运行这个应用程序了。

http://www.jsqmd.com/news/453864/

相关文章:

  • Leetcode第一题:用C++解决两数之和问题
  • [特殊字符]深度估计——GLPN在NYUv2上的单目深度优化模型
  • 实用工具推荐|m3u8live.cn:免安装 M3U8 在线播放器,开发调试超便捷
  • 苍穹外卖:菜品分页查询与删除功能(保姆级详解)
  • MATLAB疑难杂症全攻略:从诊断到优化
  • 代码随想录总结
  • Python中sorted函数与lambda表达式的详细解析
  • JavaWeb开发环境配置
  • [特殊字符] GitHub热榜 - DashengTokenizer音频革命
  • 5G天车数据采集物联网解决方案
  • 强烈安利! 专科生专属降AIGC平台 千笔·降AIGC助手 VS 知文AI
  • 工业组态网关通过MQTT协议实现数据集成监控
  • Docker安装Code-Server (在线编程)
  • [特殊字符] 视觉深度估计算法新突破 _ Intel DPT-BEIT大模型解析
  • rk3576(4)之buildroot将自定义Qt程序编译进系统
  • 广东犸力:以高频均匀压力传感器技术,深度绑定工业热点场景 - 速递信息
  • [C语言] 回溯算法的使用
  • 《锁饥饿:能抢却抢不到的并发困境》
  • Timestamp.cc和Timestamp.h文件分析
  • 2026 低压高低氧舱品牌推荐:优质厂家、靠谱公司、实力对比全解析 - 品牌推荐大师1
  • 部委政务安全智能运营未来五年发展规划与工作思路
  • 47.102.113.21
  • AI coding上手之OpenClaw快速上手
  • 【刘二大人】《PyTorch深度学习实践》——反向传播代码(自用)
  • 导师推荐 9个AI论文软件:自考毕业论文+开题报告写作全测评
  • 解读代码Dftpav-main(3.1规划核心traj_server_ros.cpp26.3.8)
  • Linux:网络编程-基于HTTP协议的天气预报查询系统开发详解
  • Kafka自动提交把消息吃了:一次“已提交未处理”+重平衡导致丢数和爆堆积
  • 把 AI助手搬进飞书!OpenClaw接入完整指南
  • 2026广州GEO优化公司排名TOP5|本地实力派盘点,亚森SEO稳居榜首!