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

目录

[Docker 入门全攻略:安装、操作与常用命令指南](#Docker 入门全攻略:安装、操作与常用命令指南)

一、引言

[二、Docker 下载与安装](#二、Docker 下载与安装)

[2.1 Docker 的系统要求](#2.1 Docker 的系统要求)

[2.2 安装步骤](#2.2 安装步骤)

[①对于 Windows 的安装指南](#①对于 Windows 的安装指南)

[②对于 macOS 的安装指南](#②对于 macOS 的安装指南)

[③对于 Linux 的安装指南](#③对于 Linux 的安装指南)

[三、Docker 的基本概念](#三、Docker 的基本概念)

[3.1 镜像(Image)](#3.1 镜像(Image))

[3.2 容器(Container)](#3.2 容器(Container))

[四、Docker 基本命令操作](#四、Docker 基本命令操作)

[4.1 拉取镜像](#4.1 拉取镜像)

[4.2 列出镜像](#4.2 列出镜像)

[4.3 运行容器](#4.3 运行容器)

[4.4 打包容器](#4.4 打包容器)

[4.5 推送镜像](#4.5 推送镜像)

[4.6 启动和停止容器](#4.6 启动和停止容器)

[4.7 附加命令](#4.7 附加命令)

五、一个简单的实操案例

[5.1、创建 Dockerfile](#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 为例:

更新软件包索引:

bash 复制代码
sudo apt-get update

安装 Docker:

bash 复制代码
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 镜像:

bash 复制代码
docker pull ubuntu

4.2 列出镜像

查看本地所有镜像:

bash 复制代码
docker images

4.3 运行容器

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

bash 复制代码
docker run -it ubuntu

4.4 打包容器

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

bash 复制代码
docker commit [容器ID] [新镜像名]

4.5 推送镜像

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

bash 复制代码
docker login

然后推送镜像到 Docker Hub:

bash 复制代码
docker push [用户名]/[镜像名]

4.6 启动和停止容器

启动一个已停止的容器:

bash 复制代码
docker start [容器ID或名称]

停止一个正在运行的容器:

bash 复制代码
docker stop [容器ID或名称]

4.7 附加命令

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

五、一个简单的实操案例

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

5.1、创建 Dockerfile

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

bash 复制代码
FROM nginx
COPY index.html /usr/share/nginx/html/

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

5.2、构建镜像

在 Dockerfile 所在目录执行:

bash 复制代码
docker build -t my-nginx .

5.3、运行容器

bash 复制代码
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用法详解

相关推荐
zealous_zzx29 分钟前
深度解析Linux系统和Unix系统的基本概念及优缺点和原理
linux·unix
丢爸1 小时前
网络学习-eNSP配置NAT
linux·网络·学习
沐风ya1 小时前
NAT技术介绍+缺陷(内网穿透+工具),NAPT(介绍,替换过程,原理,NAT转换表)
linux·服务器·网络
xmh-sxh-13143 小时前
网关功能介绍
微服务
别挡3 小时前
CentOS Stream 8中安装和使用 Docker
linux·docker·centos
人工智障调包侠4 小时前
Linux 目录介绍
linux·运维·服务器
愤怒的代码4 小时前
Centos使用阿里云镜像安装docker
linux·docker·centos
汪公子4924 小时前
使用docker部署考试系统
docker
Java小白白同学5 小时前
Linux 硬盘扩容操作手册
linux·运维·服务器
大江东去了吗5 小时前
k8s HPA
云原生·容器·kubernetes