【编程向导】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):提供与网页内容交互的方法和接口。浏览器对象模型&…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...
家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
拉力测试cuda pytorch 把 4070显卡拉满
import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...
JDK 17 新特性
#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的ÿ…...
