Docker的安装与配置和基础使用教程
1. 安装docker本人是windows安装docker但是docker要在linux环境下使用所以我们必须要模拟一个linux环境这里我们使用wsl因为wsl比较轻量如果是linux可以直接安装按下win键打开菜单搜索启用或关闭Windows功能打开该选项重启电脑安装wsl右键开始菜单打开Powershell或者按住winR输入powershell输入命令wsl --update --web-download安装Docker Desktop可以和我一样在微软商店下载也可以在官网下载安装直接默认下一步即可按住winr输入cmd打开之后输入docker --version如果正确输出版本号就结束了2. Docker常见命令docker需要修改一下配置文件否则在国内无法直接下载镜像//复制下面的配置然后删除原文粘贴即可 { registry-mirrors: [ https://docker.1ms.run, https://docker.m.daocloud.io, https://docker.xuanyuan.me ] }docker pull xxxxdocker pull 代表下载镜像后面是具体的镜像名第一个是docker.io是docker仓库的注册表地址这是官方仓库可以省略地址library是命名空间这里是官方的命名空间也可以省略不写同时如果要是个人上传自己的镜像到仓库规定要添加自己的命名空间否则镜像的名字都一样难以管理latest是镜像的版本号如果不写就是默认获取最新的版本号所以上面的例子最后可以化简为docker pull nginx表示从官方仓库的官方命名空间下载nginx的最新版本的镜像如果想要搜索一些镜像可以直接去docker hub网站免登陆即可使用docker images可以获取下载过的镜像方便管理如果不使用镜像可以及时删除避免占用存储docker rmi imageIDrm是removei是imageimageID改为你想要删除的镜像ID我们看上面的那个截图可以看到每一个镜像都有一个ID我们可以通过这些ID更方便的管理镜像docker rm 容器ID这是删除容器如果我们要删除运行的容器还要在rm加上 -f 强制删除才行docker run nginx使用nginx镜像创建并运行容器其实也可以省略上面的docker pull命令因为当我们run的时候如果发现没有这个镜像会自动拉取docker ps查看正在运行的容器后面再加-a就可以查看所有的容器无论是否运行docker run -d nginx加一个 -d 可以在后台运行不会阻塞当前的窗口docker run -p xx:xx nginx其中xx是端口号前面是宿主机的端口后面是docker的端口这一步操作是把宿主机的端口和docker的端口绑定否则无法外部访问docker run -d -p 80:80 -v /D:desktop/nginx/html nginx挂载卷作用是把宿主机/D:desktop/nginx/html可替换文件夹和docker的文件夹绑定一方修改另外一方也会修改当docker的容器被删除的时候数据会保留在宿主机的文件夹内实现了数据持久化docker run -e-e可以用来传递环境变量比如我们创建一个数据库肯定要传入用户名和密码我们就可以这样docker run -d -p 13306:13306 \ -e MYSQL_USERNAMEroot \ -e MYSQL_PASSWORD1234 \ MYSQLdocker run --name my_nginx nginx这样是给容器起一个独一无二的名字在宿主机上不能重复。这样的话就可以用起的名字来操作容器比如rm不需要容器ID方便记忆docker run -it --rm alpine-it 是指可以进入容器内进行交互--rm是容器停止之后直接删除一般用来临时调试容器docker run -d --restart alwaysunless-stopped nginxrestart指的是重启always是一直意思就是容器一停止就重启unless-stopped也是停止就重启但是当手动停止之后就不会重启docker start(stop)docker start(stop)后面写容器的ID或者名字就可以关闭或者开启容器docker run是使用镜像制作一个容器一直docker run就会产生很多的容器而start和stop就是在原有容器操作的命令下面的例子就可以看出来了docker inspect aa8806e32fe0我们在使用一段时间之后可能会忘记容器在启动的时候执行了哪些操作有没有挂载卷映射的端口在哪里我们就可以执行这个操作然后这个操作会返回一大串数据我们直接丢给AI让AI分析一下就行docker create -p 80:80 nginxcreate和run都会创建容器但是不会直接运行容器手动执行start命令就可以直接运行docker logs 容器ID -f不加-f 也可以查看日志加上-f 就是滚动查看日志可以看到加上-f 之后光标还在这里闪动日志会实时更新docker top 容器ID可以在宿主机直接查看容器内部进行的进程如果我们容器内部的linux环境是精简版既有可能没有下载一些软件包如果已经下载了软件包也可以直接运行docker exec aa8806e32fe0 ps -efdocker exec -it xxxx容器ID /bin/sh进入容器内部获得交互式的命令行环境很多容器内部都是一个精简的linux操作系统没有软件包所以我们如果遇到一些无法执行的命令就得下载一些软件包3. DockerfileFROM python:3.13-slim //这里的意思是建立一个基础的镜像我的代码是python的所以我在python的基础上建立上面写的slim是一个linux系统内置了3.13python WORKDIR /app //这里的其实类似于cd后面所有的操作都在这个目录下执行如果不存在/app目录就自动创建 COPY . . //第一个点代表是当前宿主机的目录第二个点代表镜像内的目录 RUN pip install -r requirement.txt //安装依赖RUN表示要在镜像里面执行 EXPOSE 8000 //这里的意思是声明镜像运行的端口是在8000端口主要是为了给别人使用镜像的时候提醒实际使用的时候还是以-p为准这里不写也不会影响程序运行但是在-p xx:xx里面右边的xx必须写和程序实际监听的端口一致 CMD [python3,main.py] //CMD 是容器使用的时候的默认启动命令也就是容器一启动就会执行这个命令命令最好写成数组的形式中间不写空格 //ENTRYPOINT[python3,main.py]这个和CMD 差不多但是优先级更高不容易被覆盖写好Dockerfile之后就可以开始构建镜像在当前目录执行docker build -t docker_test(这里是镜像的名字,后面还可以选择加一个:写版本号) .(最后写一个点表示在当前目录)docker run-d -p 8000:8000 docker_test这样就用我们自己构建的镜像做了一个容器并且运行起来了4. 推送镜像到Docker hub到Docker hun注册自己的账号docker login在cmd输入docker login登录一下先输入自己的用户名然后按住CTRL点击链接把这个复制之后输入到前面终端的password后面即可等待出现Login Successed即可docker build -t your_name这里输入你的用户名/docker_test现在我们使用Dockerfile重新构建一个镜像因为在推送镜像的时候必须要写上自己的用户名docker push your_name这里输入你的用户名/docker_testpush后面是镜像的名字推送成功之后就可以在docker hub上面搜索用户名/镜像名字 来查询5. Docker网络docker网络有两种模式一种是bridge一种是host我们在一般使用的时候使用bridge比较常见这种就需要做端口映射docker内部的网络与宿主机的网路是不同的得通过桥接的方式通信。另外一种host形式可以不需要端口映射docker的网络直接使用宿主机的网络这种方式可以解决很多时候出现的网络问题。在容器内部可以建立子网子网的开头一般都是172.18在同一个子网之下的容器不需要知道容器的ip地址可以直接通过容器名互相通信不同的子网则不能互相通信compose如果一个服务需要启动很多的服务比如前端程序后端程序数据库那么很显然我们不能将所有的程序都构建在同一个容器之下这样很容易出现一个服务崩了其他的服务也跟着遭殃的情况。所以我们很自然的想到可以通过每一个服务就是一个容器的方式实现多容器编排来管理一整个项目但是手动的去一个指令一个指令的操作容器十分繁琐所以我们通过编写docker-compose.yml文件可以很好的管理多容器。左边是手动的去管理多个容器右边就是使用docker-compose.yml文件管理多容器转载声明上述部分截图出自这里原作者为B站UP主“技术爬爬虾”

相关新闻

多序列比对MSA避坑指南:算法选型、参数调优与质量核验

多序列比对MSA避坑指南:算法选型、参数调优与质量核验

多重比对(Multiple sequence alignment,MSA)这活儿,说起来谁都会做——把几条同源序列拉齐,同源位点落在同一列,插入缺失拿 gap 顶住,命令行一敲就完事。可真在项目里跑过几十上百条序列的人都清…

2026/10/1 15:52:27 阅读更多 →
PyCharm解释器路径切换:从报错到精通

PyCharm解释器路径切换:从报错到精通

最近收到好几条类似的私信,核心都指向同一个词:PyCharm 换了解释器路径,项目直接红了。有人是重装了 Python 之后整个项目报 No interpreter,有人是从同事那里拿来的项目,别人那"重新选一下解释器"就完事&am…

2026/10/1 15:51:27 阅读更多 →
用极端随机树实现遥感岩性识别:特征构建与调参实战

用极端随机树实现遥感岩性识别:特征构建与调参实战

简介:针对遥感图像岩性识别中人工特征依赖与参数调优繁琐的痛点,采用极端随机树模型并集成布谷鸟、粒子群等优化算法实现端到端自动调参,所有工程代码基于Python编写,是遥感地学与机器学习交叉方向的高分毕设工程。项目面向计算机…

2026/10/1 15:51:27 阅读更多 →

最新新闻

KV Cache 理论入门:从注意力机制到 Prefix Caching 的推理架构拆解

KV Cache 理论入门:从注意力机制到 Prefix Caching 的推理架构拆解

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 20:05:31 阅读更多 →
2026 AI Agent编程大战——Cursor、Devin、Claude Code谁才是真正的“AI码农“?TaoToken统一Key实测

2026 AI Agent编程大战——Cursor、Devin、Claude Code谁才是真正的“AI码农“?TaoToken统一Key实测

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 20:05:31 阅读更多 →
AnimGen原理与实战:UE5中如何用机器学习生成骨骼动画

AnimGen原理与实战:UE5中如何用机器学习生成骨骼动画

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 20:05:31 阅读更多 →
VSCode 常见插件配置 TaoToken:settings.json 骨架与验证动作

VSCode 常见插件配置 TaoToken:settings.json 骨架与验证动作

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 20:05:31 阅读更多 →
Word目录页码全为2的根源与五步修复法

Word目录页码全为2的根源与五步修复法

1. 这个问题到底在折腾谁?——从一次真实崩溃现场说起“Word文档点击打印,目录页码却全是2”,这句话刚在公司内部技术群里冒出来,我就知道又到了一年一度的“毕业季/汇报季/结题季”高发期。上周帮市场部同事处理一份38页的年度品…

2026/10/1 20:05:31 阅读更多 →
图幅接合图表实战指南:标准分幅规则与GIS应用全解析

图幅接合图表实战指南:标准分幅规则与GIS应用全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 20:04:31 阅读更多 →

日新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:01:17 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/10/1 19:40:48 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/10/1 19:41:40 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/10/1 20:05:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:01:17 阅读更多 →