docker 常用命令与端口映射

news/2025/9/22 17:41:19/文章来源:https://www.cnblogs.com/pass-ion/p/19105700

搜索镜像:从 Docker Hub 查找镜像

docker search <镜像名称>
# 例如:docker search nginx

拉取镜像:从仓库下载镜像到本地

docker pull <镜像名称:标签>
# 例如:docker pull nginx:latest
# 如果不写标签,默认拉取 latest 版本

列出本地镜像:查看已下载的镜像

docker images
# 或者
docker image ls

删除镜像:删除本地镜像

docker rmi <镜像ID或镜像名:标签>
# 例如:docker rmi nginx
# 强制删除(如果镜像正在被使用):docker rmi -f nginx

构建镜像:通过 Dockerfile 创建自定义镜像

docker build -t <镜像名:标签> <Dockerfile路径>
# 例如:docker build -t my-app:1.0 .
# `-t` 用于指定镜像名称和标签,`.` 表示当前目录

 

容器生命周期管理 (Container Lifecycle Management)

创建并启动容器:最核心的命令

docker run [选项] <镜像名称> [命令]

常用选项:

  • -d:后台运行容器(守护态)

  • --name:为容器指定一个名称

  • -it:交互式运行容器(通常与 /bin/bash 连用)

  • -p:设置端口映射(详见第二部分)

  • -v:设置数据卷挂载(持久化数据)

  • -e:设置环境变量

  • --rm:容器停止后自动删除

# 后台运行一个名为 my-nginx 的容器,并进行端口映射
docker run -d --name my-nginx -p 8080:80 nginx# 交互式运行一个 Ubuntu 容器,并进入其终端
docker run -it --name my-ubuntu ubuntu /bin/bash

列出容器:

docker ps      # 查看正在运行的容器
docker ps -a   # 查看所有容器(包括已停止的)

启动/停止/重启容器:

docker start <容器ID或名称>
docker stop <容器ID或名称>     # 优雅停止
docker restart <容器ID或名称>
docker kill <容器ID或名称>     # 强制立即停止

进入运行中的容器:

docker exec -it <容器ID或名称> /bin/bash
# `exec` 是在已运行的容器中执行命令,`-it` 保证我们有一个交互式终端

查看容器日志:

docker logs <容器ID或名称>
docker logs -f <容器ID或名称> # 实时追踪日志(类似 tail -f)

查看资源使用情况:

docker stats

清理资源:

docker system prune      # 清理所有已停止的容器、未被使用的网络、构建缓存
docker system prune -a   # 额外清理所有未被容器使用的镜像
# 注意:这个命令很强大,使用前请确认!

 

端口映射规则

-p:手动指定映射端口(最常用)

docker run -p <宿主机端口>:<容器端口> ...

示例:docker run -d -p 8080:80 nginx

  • 将容器内部的 80 端口映射到宿主机的 8080 端口。

  • 访问方式:在宿主机浏览器中打开 http://localhost:8080 或 http://<宿主机IP>:8080

-p <宿主机IP>::<容器端口>
# 示例:-p 127.0.0.1:8080:80
# 只有通过宿主机的 127.0.0.1:8080 才能访问,更安全。
  • 原理:Docker 通过在主机的 iptables 中创建规则来实现端口转发。当外部请求到达宿主机的映射端口时,iptables 规则会将数据包转发到容器的虚拟 IP 和端口上。

  • 安全问题:默认映射 (-p 8080:80) 会绑定到宿主机的所有 IP (0.0.0.0),这意味着所有能访问到这台主机的客户端都可以连接。在生产环境中,如果宿主机有公网IP,建议使用 -p 127.0.0.1:8080:80 或通过防火墙策略来限制访问来源,以提高安全性。

  • 端口冲突:如果宿主机上的某个端口已经被其他进程占用(如已有另一个 Nginx 占用了 80 端口),你就不能再将它映射给容器,否则会报错 Bind for 0.0.0.0:80 failed: port is already allocated。你需要选择一个未被占用的宿主机端口。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/909845.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

衡阳市住房建设局网站软装设计ppt

好的思维导图软件能帮助用户更好的发挥创作能力&#xff0c;XMind是一款流行的思维导图软件&#xff0c;可以帮助用户创建各种类型的思维导图和概念图。 多样化的导图类型&#xff1a;XMind提供了多种类型的导图&#xff0c;如鱼骨图、树形图、机构图等&#xff0c;可以满足不同…

网站建设优惠券企业形象设计论文

在你储存项目的文件夹里面应该是这样的 里面.vcxproj后缀名的就是原来创建的项目&#xff0c;直接打开这个头文件源文件就会一起出来了&#xff01; 真的管用&#xff0c;亲测有效。

家居网站建设如何更新不了wordpress

第一部分:选择题 1、Python L6 (15分) 运行下面的程序,哪个值不可能出现?( ) import random print(random.randint(0, 3) * 2) 0236正确答案:C 2、Python L6 (15分) 运行下面的程序,输入哪

做糕点哪个网站影视网站建设方案

os.environ 是 Python 中 os 模块提供的一个字典&#xff0c;它表示当前系统的环境变量。环境变量是在操作系统级别设置的键值对&#xff0c;用于配置系统行为和提供信息给正在运行的进程。 os.environ 的基本用法包括获取和设置环境变量的值。下面是一些基本的使用示例&#…

网站押金收回怎么做分录做网站将文字放在图片上

任务&#xff08;task&#xff09; 任务是最抽象的,是一个一般性的术语,指由软件完成的一个活动。一个任务既可以是一个进程,也可以是一个线程。简而言之,它指的是一系列共同达到某一目的的操作。例如,读取数据并将数据放入内存中。这个任务可以作为一个进程来实现,也可以作为一…

广州自助网站设计平台app免费下载入口

6.5 代理proxy java.lang.reflect.proxy&#xff0c;用于创建动态代理类和实例&#xff0c; java.lang.reflect.InvocationHandler&#xff0c;使用动态代理创建实例时&#xff0c;需提供实现接口的类的实例。提供invoke方法&#xff0c;接收三个参数&#xff1a;代理对象、…

在线做效果图有哪些网站足球比赛直播间在线观看

目录 一、安装Anaconda3二、安装open3d三、测试代码四、结果展示五、测试数据 Windows系统下python版本Open3D-0.18.0 的快速安装与使用由CSDN点云侠原创&#xff0c;爬虫自重。如果你不是在点云侠的博客中看到该文章&#xff0c;那么此处便是不要脸的爬虫。 一、安装Anaconda…

linux重启mysql服务,几种常见的方法

在 Linux 系统中重启 MySQL 服务的方法因操作系统的初始化系统不同而略有差异,以下是几种常见的方法: 方法一:使用 systemctl 命令(适用于 systemd 系统,如 CentOS 7+/Ubuntu 16.04+) 这是现代 Linux 发行版最常…

详细介绍:Day20 K8S学习

详细介绍:Day20 K8S学习2025-09-22 17:32 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; fo…

opencv学习记录3

梯度边缘计算sobel算子 用来计算图像灰度的近似梯度,梯度越大越有可能是边缘。 Soble算子的功能集合了高斯平滑和微分求导,又被称为一阶微分算子,求导算子,在水平和垂直两个方向上求导,得到的是图像在X方法与Y方向…

统计分析神器 NCSS 2025 功能亮点+图文安装教程

软件介绍 NCSS 2025作为最新一代的统计分析与绘图软件,携众多新功能与改进强势登场。该软件对167个程序的输入和/或输出进行了更新,涵盖从基础统计分析到复杂模型构建的各个方面,如回归分析、方差分析、生存分析、质…

mysql常用语句,常用的语句整理

MySQL 常用语句可分为数据库操作、表操作、数据查询、数据增删改等几大类,以下是最常用的语句整理: 一、数据库操作 创建数据库 sql CREATE DATABASE 数据库名 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unico…

五星花园网站建设兼职腾讯企业qq

经常会帮别人恢复系统&#xff0c;很多都能把系统恢复的&#xff0c;但是也有时只有重装&#xff0c;重装系统拿个GHOST版很容易的&#xff0c;关键是需要把里面的数据给取出来&#xff0c;一些C盘上的文档&#xff0c;最老土的办法就是拆开机箱&#xff0c;把硬盘挂到另一台系…

上海网站备案审核怎么建设一个人自己网站

在 Vue 中使用 structuredClone 进行深拷贝来初始化对象内的数组 一、引言1.什么是深拷贝&#xff1f;2.为什么使用 structuredClone&#xff1f;3.示例代码4.详细解释5.兼容性注意事项 二、总结 一、引言 在前端开发中&#xff0c;处理复杂对象和数组时&#xff0c;深拷贝是一…

郑州二七区网站建设赔率网站怎么做

题解&#xff1a;CF1929C&#xff08;Sasha and the Drawing &#xff09; 一、 理解题意 CF链接 洛谷链接 大佬syz带着 a a a 元来到赌场&#xff0c;赌场的规则如下&#xff1a; 对于每一轮&#xff0c;假设选手下注 y y y 元钱&#xff08; y y y 应正整数&#xff0c;并…

临沂罗庄建设局网站网站建设要在哪学

摘要&#xff1a;形式化验证是证明软件、硬件或系统正确性的一种方法&#xff0c;近年来受到了越来越多的关注。 本文对形式化验证的研究进行了综述。首先介绍了形式化验证的基本概念&#xff0c;然后重点介绍了形式化验证的三种技术&#xff0c;包括模型检测、定理证明和等价性…

网站反链接是什么意思网站开始怎么做的

目录 归并排序详解 递归实现 迭代实现 面试题 77 : 链表排序 面试题 78 : 合并排序链表 法一、利用最小堆选取值最小的节点 法二、按照归并排序的思路合并链表 归并排序详解 归并排序就是将两个或两个以上的有序表合并成一个有序表的过程。将两个有序表合并成一个有序表…

广东手机网站开发多少坑梓网站建设代理商

题目描述 Description现在是晚餐时间,而母牛们在外面分散的牧场中。 农民约翰按响了电铃,所以她们开始向谷仓走去。 你的工作是要指出哪只母牛会最先到达谷仓(在给出的测试数据中,总会有且只有一只最快的母牛)。 在挤奶的时候(晚餐前),每只母牛都在她自己的牧场上,一些牧场上可…

盱眙在仕德伟做网站的有几家wordpress 改相对路径

Yaf 结合用户自定义的视图(模板)引擎Smarty(Yaf Smarty)来源&#xff1a;互联网作者&#xff1a;佚名时间&#xff1a;2015-08-06 07:55对完成某个任务进行计时可使用progress_timer类&#xff0c;这个类对象在退出作用范围后&#xff0c;会输出对象创建后过去的时间&#xff…

自己怎么做网站啊长春市防疫最新规定

在 node 环境中&#xff0c;有两个内置的全局变量无需引入即可直接使用&#xff0c;并且无处不见&#xff0c;它们构成了 nodejs 的模块体系: module 与 require。以下是一个简单的示例const fs require(fs)const add (x, y) > x ymodule.exports add虽然它们在平常使用…