【编程向导】Docker-常用命令
常用命令
管理命令
| 管理命令 | 说明 |
|---|---|
| builder | 管理构建 |
| config | 管理配置 |
| container | 管理容器 |
| context | 管理上下文 |
| engine | 管理引擎 |
| image | 管理镜像 |
| network | 管理网络 |
| node | 管理 Swarm 节点 |
| plugin | 管理插件 |
| secret | 管理 Docker secrets |
| service | 管理服务 |
| stack | 管理 Docker stacks |
| swarm | 管理 Swarm 集群 |
| system | 查看系统信息 |
| trust | 管理 Docker trust |
| volume | 管理卷 |
普通命令
容器生命周期管理
| 命令 | 说明 |
|---|---|
| run | 创建一个新的容器并运行一个命令 |
| start | 启动容器 |
| stop | 停止容器 |
| restart | 重启容器 |
| kill | kill 运行中的容器 |
| rm | 删除容器 |
| pause | 暂停一个或多个容器中的所有进程 |
| unpause | 恢复容器中所有的进程 |
| create | 创建一个新容器 |
| exec | 在正在运行的容器中运行命令 |
容器操作
| 命令 | 说明 |
|---|---|
| ps | 查看容器列表 |
| inspect | 返回 Docker 对象的低级信息 |
| top | 展示一个容器中运行的进程 |
| attach | 进入一个运行的容器 |
| events | 从服务器获取实时事件 |
| logs | 获取一个容器的日志 |
| wait | 阻塞直到容器停止,然后打印退出代码 |
| export | 将容器的文件系统导出为 tar 存档 |
| port | 查看端口映射或容器的特定映射列表 |
| stats | 实时显示容器资源使用情况的统计信息 |
| update | 更新容器配置 |
容器 rootfs 命令
| 命令 | 说明 |
|---|---|
| commit | 从容器变更记录中创建一个镜像 |
| cp | 在容器和宿主机文件系统之间拷贝文件 |
| diff | 检查对容器文件系统上的文件或目录的更改 |
镜像仓库
| 命令 | 说明 |
|---|---|
| login | 登陆 Docker 镜像仓库 |
| logout | 登出 Docker 镜像仓库 |
| pull | 从镜像仓库拉取镜像 |
| push | 将本地的镜像上传到镜像仓库,要先登陆到镜像仓库 |
| search | 从 Docker Hub 搜索镜像 |
本地镜像管理
| 命令 | 说明 |
|---|---|
| images | 查看镜像列表 |
| rmi | 删除镜像 |
| tag | 标记本地镜像,将其归入某一仓库 |
| build | 根据 DockerFile 构建镜像 |
| history | 显示镜像的构建历史记录 |
| save | 将指定镜像保存成 tar 归档文件 |
| load | 从存档或者 STDIN 加载镜像 |
| import | 从归档文件中创建镜像 |
| rename | 重命名容器 |
相关信息
| 命令 | 说明 |
|---|---|
| wait | |
| info | 显示系统范围的信息 |
| version | 显示 Docker 的版本信息 |
宿主机操作
端口和磁盘目录的映射
# 将宿主机的 81 端口映射到容器的 80 端口
# 将宿主机的 /develop/data 卷 映射到容器的 /data 卷
$ docker run -i -t -p 81:80 -v /develop/data:/data centos /bin/bash
-p:映射端口号-v:磁盘目录映射
Docker 更改端口号映射:
运行中的容器无法映射新的端口号,也无法更改端口号映射,但可以通过两种方法解决。
- iptable 转发端口
# 查看容器 IP
$ docker insepct 36afde543eb5 | grep IPAddress
> "IPAddress": "172.17.0.2"# 将主机的 8081 端口映射到宿主机的 8080 端口
$ iptables -t nat -A DOCKER -p tcp --dport 8081 -j DNAT --to-destination 172.17.0.2:8080
- 先提交容器为镜像,再运行这个容器,同时指定新的端口映射
# 提交容器为镜像
$ docker commit 9995ffa15f46 mycentos:0.1# 停止旧的容器
$ docker stop 9995ffa15f46# 重新从旧的镜像启动容器
$ docker run -i -t -p 8081:8080 mycentos:0.1
宿主机关于 Docker 的操作
# 开启 docker
service docker start# 重启
service docker restart# 暂停
service docker stop
Docker Hub
创建和使用私有仓库
#
docker run -eSEARCH_BACKEND=sqlalchemy-eSQLALCHEMY_INDEX_DATABASE=sqlite:tmp/docker-registry.db-d -name registry -p 5000:5000 registry
原版指令指引
按首字母大小写排列
attachAttach local standard input, output, and error streams to a running containerbuildBuild an image from a DockerfilecommitCreate a new image from a container’s changescpCopy files/folders between a container and the local filesystemcreateCreate a new containerdiffInspect changes to files or directories on a container’s filesystemeventsGet real time events from the serverexecRun a command in a running containerexportExport a container’s filesystem as a tar archivehistoryShow the history of an imageimagesList imagesimportImport the contents from a tarball to create a filesystem imageinfoDisplay system-wide informationinspectReturn low-level information on Docker objectskillKill one or more running containersloadLoad an image from a tar archive or STDINloginLog in to a Docker registrylogoutLog out from a Docker registrylogsFetch the logs of a containerpausePause all processes within one or more containersportList port mappings or a specific mapping for the containerpsList containerspullPull an image or a repository from a registrypushPush an image or a repository to a registryrenameRename a containerrestartRestart one or more containersrmRemove one or more containersrmiRemove one or more imagesrunRun a command in a new containersaveSave one or more images to a tar archive (streamed to STDOUT by default)searchSearch the Docker Hub for imagesstartStart one or more stopped containersstatsDisplay a live stream of container(s) resource usage statisticsstopStop one or more running containerstagCreate a tag TARGET_IMAGE that refers to SOURCE_IMAGEtopDisplay the running processes of a containerunpauseUnpause all processes within one or more containersupdateUpdate configuration of one or more containersversionShow the Docker version informationwaitBlock until one or more containers stop, then print their exit codes
相关文章:
【编程向导】Docker-常用命令
常用命令 管理命令 管理命令说明builder管理构建config管理配置container管理容器context管理上下文engine管理引擎image管理镜像network管理网络node管理 Swarm 节点plugin管理插件secret管理 Docker secretsservice管理服务stack管理 Docker stacksswarm管理 Swarm 集群sys…...
LeetCode题练习与总结:不同的二叉搜索树Ⅱ--95
一、题目描述 给你一个整数 n ,请你生成并返回所有由 n 个节点组成且节点值从 1 到 n 互不相同的不同 二叉搜索树 。可以按 任意顺序 返回答案。 示例 1: 输入:n 3 输出:[[1,null,2,null,3],[1,null,3,2],[2,1,3],[3,1,null,nul…...
idea SpringBoot + Gradle 环境配置到项目打包
一、前言 Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,也增加了基于Kotlin语言的kotlin-based DSL,抛弃了基于XML的各种繁琐配置。 面向Java应用为主。当前其支持…...
深入理解tengine的sysguard模块
目录 1. 引言2. 开启sysguard模块2.1 编译2.2 配置3. 源码分析3.1 配置参数分析3.2 模块的初始化3.3 ngx_http_sysguard_handler函数3.4 各项负载指标的获取3.4.1 load系统负载的获取3.4.2 cpu使用率的获取3.4.3 内存使用情况的获取3.3.5 请求平均响应时间的获取1. 引言 Tengin…...
探索多模态LLM作为驾驶的世界模型
24年5月MIT的论文“Probing Multimodal LLMs as World Models for Driving”。 主要对多模态大语言模型(MLLM)在自动驾驶领域的应用进行了审视,并挑战/验证了一些常见的假设,重点关注它们通过图像/帧序列推理和解释在闭环控制环境…...
掌握Vim:Linux系统维护的瑞士军刀 - 常用命令深度解析
在Linux的世界里,Vim编辑器犹如一位沉默的剑客,它的命令就是那锋利的剑刃,能够在代码的海洋中劈波斩浪。对于每一位Linux系统用户来说,掌握Vim的常用命令,就如同获得了维护系统的瑞士军刀。今天,让我们一起…...
C++数组和指针应用实例 -- 实现计算器
C 的数组和C 语言一样,C完全兼容C语言的指针,但是会多出一个this指针 用C实现计算器 case1: 基本实现: #include <iostream>using namespace std;int add(int a,int b) {return ab; }int minu(int a,int b) {return a-b; }int mul(int a,int b) …...
【多电压流程 Multivoltage Flow】- 5.特定工具使用建议(6.Formality)
使用Formality进行形式验证 Formality支持具有低功耗特性的功能等效性检查,如时钟门控、多阈值电压(multiple-Vt)、多电压供电、电源门控以及动态电压和频率缩放。Formality能够识别低功耗单元,例如隔离单元、电平转换器、始终开启单元、保持寄存器和电源门。 Formality支持…...
力扣 72. 编辑距离 python AC
动态规划 class Solution:def minDistance(self, word1, word2):size1 len(word1)size2 len(word2)dp [[0] * (size2 1) for _ in range(size1 1)]for i in range(1, size1 1):dp[i][0] dp[i - 1][0] 1for i in range(1, size2 1):dp[0][i] dp[0][i - 1] 1for i in…...
vue 发布项目
You are not allowed to force push code to a protected branch on this project. 分支做了保护,git中设置允许强制推送...
springBoot实现发送邮箱验证码 redis缓存源码
要在Spring Boot中实现发送邮箱验证码并使用Redis进行缓存,你需要遵循几个步骤。以下是一个简化的示例,展示了如何整合这些功能: 添加依赖 首先,确保你的pom.xml(Maven)或build.gradle(Gradle…...
QT--4
QT 使用定时器完成闹钟 #include "widget.h" #include "ui_widget.h"void Widget::timestart() {timer.start(1000); }void Widget::timeend() {timer.stop(); }Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(t…...
感染了后缀为.360勒索病毒如何应对?数据能够恢复吗?
导言: 在数字化时代的浪潮中,网络安全问题如同暗流涌动,威胁着每一个互联网用户的安宁。而近年来,一种名为.360勒索病毒的新型网络威胁逐渐浮出水面,以其独特的加密方式和狡猾的传播策略,给全球网络安全带…...
JavaSE多态
多态:一个对象在不同条件下表示的不同形态就叫多态。在程序中,多态是父类引用指定子类对象就叫多态。 多态是面向对象程序设计中的第三个特征 // 多态 class Father {String name;public void desc() {System.out.println("----------");Sys…...
M 有效算法
M 有效算法 本题考验二分知识,思路是二分k的取值,就按第一组样例来说当我们k取值为1的时候我们遍历数组想让|8-x|<k1的话x的取值范围是7-9,想让|3-x|<k2的话x的取值范围是1-5,两者x的区间不重合,说明肯定没有x能…...
知识付费系统制作,托管机构如何提高体验课转化率?要注意什么?
现在托管机构非常流行,一所学校周边就会出现好几家托管机构,所以竞争非常激烈。很多托管机构为了扩大生源,会选择体验课来让学生体验,至于如何提高体验课转化率,就看机构的本事了。 1、市场调研:摸清当前我…...
【iOS逆向与安全】网上gw如何自动登录与签到SM2,SM3,SM4算法加解密
1.下载 app 2.frida 调试 3.抓包查看接口 4.分析加密数据 5.易语言编写代码 1 .开始下载 下载好发现有越狱检测,检测点为: -[AppDelegate isJailBreak]; 于是编写插件xm代码 : %hook AppDelegate- (void)isJailBreak{NSLog("AppDelegate is…...
《CKA/CKAD应试指南/从docker到kubernetes 完全攻略》学习笔记 第14章 包管理helm v3
前言 考试大纲: 了解helm是如何工作的,从而实现快速部署应用 本章要点: 考点1:添加helm源 考点2:使用helm 部署应用 前面在使用wordpress + mysql 部署博客应用的时候,需要做许多工作,需要每个pod创建pv和pvc,然后分别创建每个应用pod及svc,整个过程非常麻烦. 如果搭建博客的…...
蓝桥杯备战.19有奖问答dfs
P9230 [蓝桥杯 2023 省 A] 填空问题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include<bits/stdc.h> using namespace std; #define endl \n //#define int long long const int N 2e510; int a[N],w[N]; int ans 0; void dfs(int score,int cnt) {if(cnt>3…...
【JS红宝书学习笔记】第1、2章 初识JS
第1章 什么是JavaScript JavaScript 是一门用来与网页交互的脚本语言,包含以下三个组成部分。 ECMAScript:由 ECMA-262 定义并提供核心功能。文档对象模型(DOM):提供与网页内容交互的方法和接口。浏览器对象模型&…...
多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...
学习一下用鸿蒙DevEco Studio HarmonyOS5实现百度地图
在鸿蒙(HarmonyOS5)中集成百度地图,可以通过以下步骤和技术方案实现。结合鸿蒙的分布式能力和百度地图的API,可以构建跨设备的定位、导航和地图展示功能。 1. 鸿蒙环境准备 开发工具:下载安装 De…...
Canal环境搭建并实现和ES数据同步
作者:田超凡 日期:2025年6月7日 Canal安装,启动端口11111、8082: 安装canal-deployer服务端: https://github.com/alibaba/canal/releases/1.1.7/canal.deployer-1.1.7.tar.gz cd /opt/homebrew/etc mkdir canal…...
基于Uniapp的HarmonyOS 5.0体育应用开发攻略
一、技术架构设计 1.混合开发框架选型 (1)使用Uniapp 3.8版本支持ArkTS编译 (2)通过uni-harmony插件调用原生能力 (3)分层架构设计: graph TDA[UI层] -->|Vue语法| B(Uniapp框架)B --&g…...
初探用uniapp写微信小程序遇到的问题及解决(vue3+ts)
零、关于开发思路 (一)拿到工作任务,先理清楚需求 1.逻辑部分 不放过原型里说的每一句话,有疑惑的部分该问产品/测试/之前的开发就问 2.页面部分(含国际化) 整体看过需要开发页面的原型后,分类一下哪些组件/样式可以复用,直接提取出来使用 (时间充分的前提下,不…...
