Docker 入门全攻略:安装、操作与常用命令指南

embedded/2024/12/21 22:31:40/

目录

Docker 入门全攻略:安装、操作与常用命令指南

一、引言

二、Docker 下载与安装

2.1 Docker 的系统要求

2.2 安装步骤

①对于 Windows 的安装指南

②对于 macOS 的安装指南

③对于 Linux 的安装指南

三、Docker 的基本概念

3.1 镜像(Image)

3.2 容器(Container)

四、Docker 基本命令操作

4.1 拉取镜像

4.2 列出镜像

4.3 运行容器

4.4 打包容器

4.5 推送镜像

4.6 启动和停止容器

4.7 附加命令

五、一个简单的实操案例

5.1、创建 Dockerfile

5.2、构建镜像

5.3、运行容器

5.4、访问应用

六、总结


作者:watermelo617

涉及领域:Vue、SpingBoot、Docker、LLM、python等

-------------------------------------------------------------------------------------------------------------------------

--------------------------温柔地对待温柔的人,包容的三观就是最大的温柔。--------------------------

-------------------------------------------------------------------------------------------------------------------------

Docker 入门全攻略:安装、操作与常用命令指南

一、引言

        Docker 是一个开源的应用容器引擎,它允许开发者打包应用及其依赖到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

        在当今快速发展的云计算和微服务架构中,Docker 以其轻量级和便携性,成为开发者和系统管理员的得力工具。Docker 不仅简化了应用的部署流程,还提高了应用的可移植性和可扩展性。本篇博客将带领你从 Docker 的下载和安装开始,一步步深入到 Docker 的基本概念和操作,最终通过实践案例来巩固你的学习成果。

二、Docker 下载与安装

2.1 Docker 的系统要求

        Docker 支持主流的操作系统,包括 Windows 10、macOS Sierra 以及各种 Linux 发行版。确保你的系统满足 Docker 的最低系统要求。

2.2 安装步骤

        docker官网(别被百度前几位的广告骗了):https://www.docker.com/

        安装其

①对于 Windows 的安装指南
  1. 访问 Docker 官网下载 Docker Desktop for Windows。
  2. 运行安装程序并按照提示完成安装。
  3. 通过 Windows 搜索栏搜索并打开 Docker Desktop。
②对于 macOS 的安装指南
  1. 访问 Docker 官网下载 Docker Desktop for Mac。
  2. 打开下载的 DMG 文件并拖动 Docker 到 Applications 文件夹。
  3. 打开 Docker Desktop 应用并按照提示完成安装。
③对于 Linux 的安装指南

        以 Ubuntu 为例:

        更新软件包索引:

sudo apt-get update

         安装 Docker:

sudo apt-get install docker-ce docker-ce-cli containerd.io

三、Docker 的基本概念

3.1 镜像(Image)

        Docker 镜像是只读模板,它包含了运行应用所需的所有内容——代码、运行时、库、环境变量和配置文件。

        对镜像的修改有两种方式:①根据镜像生成容器,修改容器后打包为新的镜像。②根据基础镜像和Dockerfile直接生成新的镜像。

3.2 容器(Container)

        容器是镜像的运行实例。它是一个轻量级、可移植的、自给自足的软件运行环境。容器诞生于镜像,但是可以进一步修改,并且可以打包为新的镜像。

四、Docker 基本命令操作

4.1 拉取镜像

        使用以下命令从 Docker Hub 拉取 Ubuntu 镜像:

docker pull ubuntu

4.2 列出镜像

        查看本地所有镜像:

docker images

4.3 运行容器

        创建并启动一个基于 Ubuntu 镜像的容器

docker run -it ubuntu

4.4 打包容器

        将正在运行的容器保存为新镜像:

docker commit [容器ID] [新镜像名]

4.5 推送镜像

        首先,你需要登录 Docker Hub(Docker Hub是docker官方的镜像仓库,但如果不使用科学上网方式有时候会难以访问):

docker login

        然后推送镜像到 Docker Hub:

docker push [用户名]/[镜像名]

4.6 启动和停止容器

        启动一个已停止的容器

docker start [容器ID或名称]

        停止一个正在运行的容器

docker stop [容器ID或名称]

4.7 附加命令

  • 列出正在运行的容器
docker ps
docker rm [容器ID或名称]
  • 删除一个镜像:
docker rmi [镜像ID或名称]

五、一个简单的实操案例

        假设我们需要部署一个简单的 Web 服务器。

5.1、创建 Dockerfile

        创建一个包含以下内容的文件,命名为Dockerfile(没有文件拓展名!没有文件拓展名!没有文件拓展名!):

FROM nginx
COPY index.html /usr/share/nginx/html/

        其中index.html是你希望服务的网页文件。

5.2、构建镜像

        在 Dockerfile 所在目录执行:

docker build -t my-nginx .

5.3、运行容器

docker run -d -p 8080:80 my-nginx

        这将在后台启动一个容器,并将容器的 80 端口映射到宿主机的 8080 端口。

5.4、访问应用

        在浏览器中访问 http://localhost:8080,你将看到部署的 Web 应用。

六、总结

        Docker 的世界非常广阔,这只是一个开始,请继续探索和学习 Docker 的高级特性和最佳实践。后续也会继续更新相关的理论与实践内容。

        只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~

        更多优质内容,请关注:

        分片上传技术全解析:原理、优势与应用(含简单实现源码)

        浏览器渲染揭秘:从加载到显示的全过程

        你真的会使用Vue3的onMounted钩子函数吗?Vue3中onMounted的用法详解

        通过array.filter()实现数组的数据筛选、数据清洗和链式调用

        el-table实现动态数据的实时排序,一篇文章讲清楚elementui的表格排序功能

        shpfile转GeoJSON且控制转化精度;如何获取GeoJSON?GeoJson结构详解

        通过array.reduce()实现数据汇总、条件筛选和映射、对象属性的扁平化、转换数据格式等

        极致的灵活度满足工程美学:用Vue Flow绘制一个完美流程图

        Mapbox添加行政区矢量图层、分级设色图层、自定义鼠标悬浮框、添加天地图底图等

        管理数据必备!侦听器watch用法详解


http://www.ppmy.cn/embedded/93286.html

相关文章

stem32江科大自学笔记

江科大B站教程连接:【STM32入门教程-2023版 细致讲解 中文字幕】 系列文章目录 提示:收集stem32江科大自学笔记,方便自己和他人查看 视频对应目录STM32入门教程P1-3 [1-2]&[2-1]1.STM32简介、系统介绍、软件安装P4 [2-2]2.基于标准库(库…

零售EDI:OBI欧倍德EDI项目案例

OBI欧倍德公司是德国建材和家居装饰零售连锁店,在德国以及其他欧洲国家拥有众多分店,是欧洲领先的DIY(Do It Yourself)零售商之一。为了更好地处理与全球供应商之间的业务数据往来,OBI采用EDI提高其供应链的自动化水平…

[开端]JAVA抽象类使用到redis观察着

一、绪论 当redis内容发生变化时需要通知一些观察者做一些动作怎么做? 二、JAVA抽象类 public abstract class AbstractRedisChangeListener {public abstract void change(String key, String value, String crudType); }使用abstract进行修饰一个类 其中抽象类…

S3Gaussian运行笔记

1. 环境配置 conda install pytorch2.1.2 torchvision0.16.2 torchaudio2.1.2 pytorch-cuda12.1 -c pytorch -c nvidiagit clone https://github.com/nnanhuang/S3Gaussian.git --recursive cd S3Gaussian conda create -n S3Gaussian python3.9 conda activate S3Gaussianpi…

element plus el-select修改后缀图标

使用 element plus 提供的api 默认为&#xff1a; 修改后为&#xff1a; 方法&#xff1a; <el-select v-model"value" placeholder"Select" size"large" style"width: 120px;":teleported"false" :suffix-icon"…

WINDOWS搭建nps/npc服务器

下载 Releases ehang-io/nps GitHub 解压、安装 解压后&#xff0c;执行&#xff1a; nps install 配置 来到安装目录C:\Program Files\nps 编译conf/nps.conf&#xff0c;只保留以下内容&#xff1a; appname nps #Boot mode(dev|pro) runmode pro##bridge bridge…

VueTreeselect自定义label

插槽 使用插槽 //node.raw&#xff1a;所有传入的数据项<treeselectv-model"areaCode":options"deptOptions":normalizer"normalizer"><div slot"value-label" slot-scope"{ node }">{{ node.raw.title }}<…

springboot整合springmvc使用外置的Servlet容器

目录 1. 创建2. 配置3. 配置Tomcat4. 心得 1. 创建 2. 配置 首先创建两个文件夹 配置&#xff1a; 3. 配置Tomcat 右上角的按钮 添加 保证这几个不冲突&#xff0c;保证你的tomcat的文件没问题&#xff01;&#xff01;&#xff01; 点击部署 选择第二个war exploded…