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

Docker 快速入门指南

Docker 快速入门指南

1. Docker 常用指令

Docker 是一个轻量级的容器化平台,可以帮助开发者快速构建、测试和部署应用程序。以下是一些常用的 Docker 命令。

在这里插入图片描述

1.1 镜像管理

# 搜索镜像
docker search <image_name># 拉取镜像
docker pull <image_name>:<tag># 查看本地镜像
docker images# 删除镜像
docker rmi <image_id>

1.2 容器管理

# 运行容器(后台模式)
docker run -d --name <container_name> <image_name># 运行交互式容器
docker run -it --name <container_name> <image_name> /bin/bash# 以交互式进入运行的容器
docker exec -it <container_name/container_id> /bin/bash# 查看运行中的容器
docker ps# 查看所有容器(包括停止的)
docker ps -a# 停止容器
docker stop <container_id># 启动容器
docker start <container_id># 删除容器
docker rm <container_id>

1.3 网络管理

# 查看网络
docker network ls# 创建网络
docker network create <network_name># 删除网络
docker network rm <network_name>

1.4 数据卷管理

# 创建数据卷
docker volume create <volume_name># 查看数据卷
docker volume ls# 删除数据卷
docker volume rm <volume_name>

1.5 容器打包与导入导出

# 将容器打包为镜像
docker commit <container_id> <new_image_name># 导出镜像
docker save -o <image_name>.tar <image_name># 导入镜像
docker load -i <image_name>.tar

2. Dockerfile 介绍

Dockerfile 是用于定义 Docker 镜像的文件,包含了一系列指令来描述如何构建镜像。

2.1 Dockerfile 示例

# 选择基础镜像
FROM ubuntu:24.04# 维护者信息
LABEL maintainer="my@example.com"# 设置工作目录
WORKDIR /app# 复制本地文件到容器
COPY . /app# 安装必要的依赖
RUN apt-get update && apt-get install -y python3# 暴露端口
EXPOSE 8080# 设置启动命令
CMD ["python3", "app.py"]

2.2 Dockerfile 常用指令

  • FROM:指定基础镜像
  • LABEL:添加元数据
  • WORKDIR:设置工作目录
  • COPY:复制文件到容器
  • RUN:执行命令
  • EXPOSE:声明容器监听的端口
  • CMD:容器启动时执行的默认命令

2.3 Dockerfile 构建镜像的命令

# 使用 Dockerfile 构建镜像
docker build -t <image_name>:<tag> .# 指定 Dockerfile 文件构建镜像
docker build -f <Dockerfile_path> -t <image_name>:<tag> .

3. Docker Compose 介绍

Docker Compose 是用于管理多个容器的工具,使用 docker-compose.yml 文件定义和运行多容器应用。

3.1 docker-compose.yml 示例

version: '3.1'# 网络设置
networks:my-network:name: my-networkdriver: bridge# 服务设置
services:# my_server 容器my_server:image: ubuntu:24.04container_name: my_serverrestart: alwayscommand: tail -f /dev/null #保持启动networks:- my-networkports:- "33022:22"     # sshvolumes:- "./my/data:/data"

3.2 Docker Compose 常用命令

# 启动所有服务
docker-compose up -d# 查看服务状态
docker-compose ps# 停止所有服务
docker-compose down

4. 总结

本篇文章介绍了 Docker 的基本指令、Dockerfile 以及 Docker Compose,快速入手Docker, 作者也经常忘记指令,写篇文章记录一下。

相关文章:

Docker 快速入门指南

Docker 快速入门指南 1. Docker 常用指令 Docker 是一个轻量级的容器化平台&#xff0c;可以帮助开发者快速构建、测试和部署应用程序。以下是一些常用的 Docker 命令。 1.1 镜像管理 # 搜索镜像 docker search <image_name># 拉取镜像 docker pull <image_name>…...

计算机网络 - OSI 七层模型

OSI 七层模型 OSI&#xff08;Open System Interconnection&#xff0c;开放系统互联&#xff09;模型由 ISO&#xff08;国际标准化组织&#xff09; 制定&#xff0c;目的是为不同计算机网络系统之间的通信提供一个标准化的框架。它将网络通信划分为 七个层次&#xff0c;每…...

如何调整yarn.nodemanager.vmem-pmem-ratio参数?

调整 yarn.nodemanager.vmem-pmem-ratio 参数的步骤如下&#xff1a; 1. 打开 YARN 配置文件 找到 yarn-site.xml 文件&#xff0c;该文件通常位于 Hadoop 配置目录中&#xff0c;例如 /etc/hadoop/conf 或 /opt/module/hadoop-3.1.3/etc/hadoop。 2. 找到并修改 yarn.nodemana…...

自顶向下学习K8S--部署Agones

本文在本人博客&#xff0c;原文地址&#xff1a;http://viogami.tech/index.php/blog/346/ 我是gopher&#xff0c;离不开云原生&#xff0c;自然也逃不了理解docker和K8S这俩。今天抽空想玩下agones&#xff0c;进而对K8S有实践性的理解。 学一个新事物从底层理论学肯定是最…...

unity中Xcharts图表鼠标悬浮表现异常

鼠标悬浮在面板附近&#xff0c;只显示单独的一个项目 而且无论鼠标如何移动&#xff0c;根本没有效果。 解决方案&#xff1a; 需要在对应的Canvas上绑定主相机才可以 鼠标移动到项目上就有信息展示了...

2025年最新自动化/控制保研夏令营预推免面试真题分享(东南大学苏州校区/华东理工/南航/天大)

笔者来2021级本科自动化专业&#xff0c;以下部分将介绍我在夏令营以及预推免期间发生经历和问题 东南大学苏州校区蒙纳士大学联培 东南大学苏州校区的项目算是一个比较小众的项目&#xff0c;是第一年在苏州校区&#xff0c;二三年到南京校区找导师&#xff08;不提供住宿自…...

【Java SE】包装类 Byte、Short、Integer、Long、Character、Float、Double、Boolean

参考笔记&#xff1a;java 包装类 万字详解&#xff08;通俗易懂)_java包装类-CSDN博客 目录 1.简介 2.包装类的继承关系图 3.装箱和拆箱 3.1 介绍 3.2 手动拆装箱 3.3. 自动拆装箱 ​4.关于String类型的转化问题 4.1 String类型和基本类型的相互转化 4.1.1 String —…...

口腔种植全流程AI导航系统及辅助诊疗与耗材智能化编程分析

一、系统架构与编程框架设计 口腔种植全流程人工智能导航系统的开发是一项高度复杂的多学科融合工程,其核心架构需在医学精准性、工程实时性与临床实用性之间实现平衡。系统设计以模块化分层架构为基础,结合高实时性数据流与多模态协同控制理念,覆盖从数据采集、智能决策到…...

小林coding-10道Java集合面试题

1.数组与集合区别&#xff0c;用过哪些&#xff1f;说说Java中的集合&#xff1f;Java中的线程安全的集合是什么&#xff1f;Collections和Collection的区别?集合遍历的方法有哪些&#xff1f; 2.List?讲一下java里面list的几种实现&#xff0c;几种实现有什么不同&#xff…...

Java 集合中ArrayList与LinkedList的性能比较

一、需求&#xff1a; 头部插入‌&#xff1a;向列表头部插入10万个整数。‌随机访问‌&#xff1a;从列表中间位置连续获取1万个元素。‌头部删除‌&#xff1a;从列表头部连续删除10万个元素。 二、 使用ArrayList与LinkedList测试 //常量定义&#xff0c;用于测试操作的次数…...

SQL问题分析与诊断(8)——前提

8.1. 前提 与其他关系库类似&#xff0c;SQL Server中&#xff0c;当我们对存在性能问题的SQL语句进行分析和诊断时&#xff0c;除了获取该SQL语句本身外&#xff0c;还需要获取SQL语句相应的查询计划及其相关的数据环境。这里&#xff0c;所谓数据环境&#xff0c;具体是指SQ…...

漏洞发现:AWVS 联动 XRAY 图形化工具.(主动+被动 双重扫描)

漏洞发现&#xff1a;AWVS 联动 XRAY 图形化工具. 漏洞发现是网络安全领域的关键环节&#xff0c;指通过技术手段识别计算机系统、网络设备或软件中存在的设计缺陷、配置错误或代码漏洞的过程。这些漏洞可能被攻击者利用&#xff0c;导致数据泄露、服务中断或权限提升等风险。…...

上门家政小程序实战,从0到1解决方案

一、逻辑分析 上门家政小程序主要涉及用户端和服务端两大部分。用户端需要实现服务浏览、预约下单、订单跟踪等功能&#xff1b;服务端则要处理订单管理、服务人员管理、数据统计等任务。以下是详细的功能模块分析&#xff1a; 用户注册与登录&#xff1a;用户通过手机号或第三…...

Linux ping/telnet/nc命令

在Linux操作系统中&#xff0c;ping命令用于测试网络连接和发送数据包到目的主机。 然而&#xff0c;ping命令默认情况下只能测试IP地址和域名&#xff0c;而无法直接测试端口号。 ping www.baidu.comping 192.168.0.1 测试端口 如果你想测试特定端口是否开放并响应&#xff…...

Netty - 从Nginx 四层(TCP/UDP)流量中获取客户端真实/网络出口IP

文章目录 一、背景与原理1.1 问题场景网络架构影响分析1.1 客户端与Nginx之间存在的NAT/VPN1.2 Nginx与RPC服务之间的NAT 1.2 技术原理 二、环境配置验证2.1 Nginx配置2.2 版本要求 三、Netty服务端实现3.1 Pipeline配置&#xff08;核心代码&#xff09;3.2 协议处理器实现3.3…...

【持续集成和持续部署】

大致流程&#xff1a; 提交代码--拉取下来新代码并自动构建与部署--应用接口探活--执行自动化测试--输出自动化测试报告 一、持续集成&#xff08;Continuous Integration&#xff0c;CI&#xff09; 持续集成是一种软件开发实践&#xff0c;开发团队成员频繁地将代码集成到…...

Transformers中的BertConfig、BertModel详解

目录 一、功能 二、用法 1.导入BertConfig 2. 初始化默认配置 3.使用配置初始化模型 使用场景&#xff1a; 1.自定义小型BERT模型 2.加载预训练模型配置 从 Hugging Face 模型库加载 bert-base-uncased 的默认配置&#xff1a; 通过 BertConfig&#xff0c;你可以灵活定义…...

Ubuntu下载docker、xshell

配置&#xff1a;VMware虚拟机、Ubuntu24.04.1 首先打开vm启动虚拟机 下载docker Ubuntu启动之后&#xff0c;按CTRLALTT 打开终端 1.更新软件包索引并安装依赖 sudo apt-get updatesudo apt-get install \ca-certificates \curl \gnupg \lsb-release 2.添加docker官方的GP…...

迅为iTOP-RK3576人工智能开发板Android 系统接口功能测试

2.1 开机启动 开发板接通电源&#xff0c;并按下电源开关&#xff0c;系统即启动&#xff0c;在启动过程中&#xff0c;系统会显示下图中的开机画面&#xff0c;它们分别是 Android 系统启动时的 Logo 画面&#xff1a; 最后会显示如下解锁画面&#xff1a; 2.2 命令终端 将…...

Android设计模式之工厂方法模式

一、定义&#xff1a; 定义一个用于创建对象的接口&#xff0c;让子类决定实例化哪个类。 二、组成&#xff1a; 1.抽象工厂&#xff1a;工厂模式的核心&#xff0c;声明工厂方法&#xff0c;返回抽象产品对象。 2.具体工厂&#xff1a;实现工厂方法&#xff0c;返还具体的产品…...

端侧设备(如路由器、家庭网关、边缘计算盒子、工业网关等)的典型系统、硬件配置和内存大小

🏠 家用/工业级边缘设备硬件概览 类型常见设备示例CPU 架构内存范围操作系统类型家用路由器TP-Link、小米、华硕、OpenWrtARM Cortex-A7/A964MB~256MBOpenWrt / DD-WRT / Embedded Linux智能家庭网关华为、绿米、天猫精灵、Aqara HubARM Cortex-M/R128MB~512MBEmbedded Lin…...

office_word中使用宏以及DeepSeek

前言 Word中可以利用DeepSeek来生成各种宏&#xff0c;从而生成我们需要各种数据和图表&#xff0c;这样可以大大减少我们手工的操作。 1、Office的版本 采用的是微软的office2016&#xff0c;如下图&#xff1a; 2、新建一个Word文档 3、开启开发工具 这样菜单中的“开发工具…...

数据结构day04

一 栈 1栈的基本概念 各位同学大家好&#xff0c;从这个小节开始&#xff0c;我们会正式进入第三章的学习&#xff0c;我们会学习栈和队列&#xff0c;那这个小节中我们会先认识栈的基本概念。我们会从栈的定义和栈的基本操作来认识栈这种数据结构&#xff0c;也就是要探讨栈的…...

质量工程:数字化转型时代的质量体系重构

前言&#xff1a;质量理念的范式转移阅读原文 如果把软件开发比作建造摩天大楼&#xff1a; 传统测试 竣工后检查裂缝&#xff08;高成本返工&#xff09; 质量工程 从地基开始的全流程监理体系&#xff08;设计图纸→施工工艺→建材选择→竣工验收&#xff09; IEEE研究…...

数据结构C语言练习(单双链表)

本篇练习题(单链表)&#xff1a; 1.力扣 203. 移除链表元素 2.力扣 206. 反转链表 3.力扣 876. 链表的中间结点 4.力扣 21. 合并两个有序链表 5. 牛客 链表分割算法详解 6.牛客 链表回文结构判断 7. 力扣 160. 相交链表 8. 力扣 141 环形链表 9. 力扣 142 环形链表 II…...

QScreen 捕获屏幕(截图)

一、QScreen核心能力解析 硬件信息获取 // 获取主屏幕对象 QScreen* primaryScreen QGuiApplication::primaryScreen();// 输出屏幕参数 qDebug() << "分辨率:" << primaryScreen->size(); qDebug() << "物理尺寸:" << primar…...

pyQt学习笔记——Qt资源文件(.qrc)的创建与使用

Qt资源文件&#xff08;.qrc&#xff09;的创建与使用 1. 选择打开资源2. 创建新资源3. 添加资源文件夹4. 选择要加载的图片文件5. 编译resource.qrc文件6. 替换PySlide6为PyQt57. 其他说明 1. 选择打开资源 在Qt项目中&#xff0c;可以通过windowIcon点击选择打开资源。 2. 创…...

优雅的开始一个Python项目

优雅的开始一个Python项目 这是我在初始化一个Python项目时&#xff0c;一键生成的项目文件。它自动完成了git初始化、环境管理、日志模块这三件事情&#xff0c;并在最后进入了虚拟环境。 uv安装 uv是一个现代的Python包管理和项目管理工具。uv中文文档 安装uv: # unix: …...

[学成在线]07-视频转码

视频转码 视频上传成功后需要对视频进行转码处理。 首先我们要分清文件格式和编码格式&#xff1a; 文件格式&#xff1a;是指.mp4、.avi、.rmvb等这些不同扩展名的视频文件的文件格式 &#xff0c;视频文件的内容主要包括视频和音频&#xff0c;其文件格式是按照一定的编码…...

qt+opengl 加载三维obj文件

1前面我们已经熟悉了opengl自定义顶点生成一个立方体&#xff0c;并且我们实现了立方体的旋转&#xff0c;光照等功能。下面我们来用opengl来加载一个obj文件。准备我们首先准备一个简单的obj文件&#xff08;head.obj&#xff09;。资源在本页下载 2 在obj文件里面&#xff0c…...