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

docker基本命令-容器

容器

基本概念

镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的 类 和 实例 一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的 命名空间。因此容器可以拥有自己的 root 文件系统、自己的网络配置、自己的进程空间,甚至自己的用户 ID 空间。容器内的进程是运行在一个隔离的环境里,使用起来,就好像是在一个独立于宿主的系统下操作一样。这种特性使得容器封装的应用比直接在宿主运行更加安全。

常用命令

创建并运行容器

命令

docker run xxx

运行mysql镜像

// 5.7.25版本
docker run -d -p 3307:3306 --name mysql_muse -e MYSQL_ROOT_PASSWORD=servyou@muse 98455b9624a9
// 8.0.20版本
docker run -d -p 3308:3306 --name mysql_muse8.0.20 -e MYSQL_ROOT_PASSWORD=servyou@muse be0dbf01a0f3

-d: 守护进行,在后台运行
-p:端口的映射,宿主机的端口/容器的端口
3307是宿主机的端口(本机对外暴露的端口,别的机器通过这个端口连接数据库)
3306指的是当前启动容器的端口
–name: 给容器设置个名称,这里的名称就叫mysql
-e: mysql的密码, 这里是给root用户设置的密码为 servyou@muse
最后跟着是镜像id
在这里插入图片描述

运行centos系统

docker run -it 300e315adb2f /bin/bash

在这里插入图片描述
在这里插入图片描述

运行nginx

// 运行nginx
docker run -d -p 80:80 --name trident-web-1.2.0 6fca7654d0ab// 阿里云服务器运行nginx容器并与阿里云宿主机挂载容器卷
docker run -d -p 80:80 --name hexo-blog -v /root/workspace/hexo-blog:/usr/webapp nginx

运行node容器


docker run -p 4000:4000 --name hexo -it 1d88d89c7230 /bin/bash// 宿主80端口映射容器4000端口,直接访问域名,就会转到容器内部的4000端口的服务了
docker run -p 80:4000 --name hexo -it 1d88d89c7230 /bin/bash

重启容器

docker restart + id
docker restart 60d763cdb56a

在这里插入图片描述

停止容器

停止单个容器

docker stop + containerId
docker stop 38eb55a92d74

在这里插入图片描述

停止所有容器

docker stop $(docker ps -q)

查看容器

查看所有运行中的容器

docker ps

查看所有的-包括停止的

docker ps -a

查看最近运行过的容器

docker ps -l

在这里插入图片描述

删除容器

删除单个容器

docker rm +id
docker rm 69541657497a

删除一个已近存在的容器,删除这个容器之前,需要先stop不然会收到如下错误
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

删除所有容器

docker rm $(docker ps -aq)

停止并删除所有容器

docker stop $(docker ps -q) & docker rm $(docker ps -aq)

进入容器内部

docker exec -it 容器id sh
docker exec -it fc29bdda6386 sh# 有的Dockerfile追加了 CMD /bin/bash 那就不用加后面的这个 /bin/bash 否则需要加的,不然就会kill itself
docker exec -it 容器id /bin/bash

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

attach

docker attach containerID

docker attach可以attach到一个已经运行的容器的stdin,然后进行命令执行的动作。但是需要注意的是,如果从这个stdin中exit,会导致容器的停止。而使用exec的方式进入容器,exit出来之后,该容器可以正常运行
在这里插入图片描述

在这里插入图片描述

退出容器

在这里插入图片描述

新建镜像

如果我们运行一个容器,比如是ngnix, 此时运行的是一个从官网拉下来的标准配置的ngnix,我们在运行的容器中按需修改了一些配置,此时我们可以提交该容器成为新的镜像,新的镜像就可以包含我们修改的一些配置。以后就可以以此为新的镜像启动。

docker commit -m="提交的描述信息" -a="作者" 容器id 要创建的目标镜像名:[标签名]

等将一个容器打成新的镜像之后,又可以将整个新的镜像导出出去,供给别人使用

相关文章:

docker基本命令-容器

容器 基本概念 镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的 类 和 实例 一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。 容…...

QT入门基础(一)

文章目录零.Qt背景1.什么是Qt2.Qt的发展史3.Qt的优势4.Qt应用一.第一个Qt程序0.项目创建1.main函数文件2.类头文件3.pro文件4.qt命名规范二.Qt按钮1.按钮创建和父子关系2.按钮常用api3.Qt窗口坐标体系4.对象树模型零.Qt背景 1.什么是Qt Qt是一个跨平台的C图形用户界面应用程序…...

WattOS:一个稳又快的轻量级 Linux 发行版

导读Linux 领域里的每个人不是听说过就是使用过某个轻量级的 Linux 发行版。大家都知道我们不断追求的是:占用内存少,配置资源要求低,包含一个轻量级的桌面环境(或者窗口管理器),并且提供和其他发行版相似的…...

Java调用Python脚本:轻松实现两种语言的互操作性

Java和Python都是非常流行的编程语言,它们都有自己的优点,但也有自己的局限性。在编写应用程序时,我们可能需要使用两种语言来共同完成一项任务。在这种情况下,Java需要调用Python脚本来解决某些问题,同时利用Java和Py…...

未系安全带识别系统 yolo

未系安全带识别系统通过pythonyolo智能视频分析技术,未系安全带识别算法对画面中高空作业人员未系安全带行为进行监测,未系安全带识别算法监测到人员未穿戴安全带时,立即通知后台人员及时处理触发告警。Yolo算法采用一个单独的CNN模型实现end…...

(七十六)大白话MySQL是如何根据成本优化选择执行计划的?(上)

之前已经给大家讲解清楚了 MySQL 在执行单表查询时候的一些执行计划,比如说const、ref、range、index、all之类的,也讲了多表关联的时候是如何执行的,本质其实就是先查一个驱动表,接着根据连接条件去被驱动表里循环查询&#xff0…...

DSRC技术

DSRC(Dedicated Short Range Communication)专用短程通信 定位 是V2X领域存在的两大通信技术之一(另一个为LTE-V2X)。 所属技术路线 与这两大技术相对应,是V2X无线通信技术的两大技术路线: IEEE 802.11p 本是04年指定的一个通…...

_面经问题_

一、Java编程语言 Java语言有哪些特点? JVM vs JDK vs JRE 什么是字节码? 采用字节码的好处是什么? 为什么不全部使用AOT呢? 为什么说Java语言"编译与解释并存"? Oracle JDK vs OpenJDK Java和C的区别? 注释有哪几种形式? 标识符和关键字的区别是什么? Jav…...

刷题记录(2023.3.6 - 2023.3.11)

我很喜欢这周的感觉,前两道题对着 wp 简略复现了一下,由于以前都是自己学习,对一些稍微多、稍微难的题都会马上避开,笨小孩逃避太久了,有些事逃不掉,总得面对,开始往往很难,多花点时…...

14 Day:同步锁与操作系统输入输出

前言:在上一期的线程章节中,我们的线程输出貌似有大问题,今天我们便要来学习同步锁来解决这个问题,同时再次基础上拿下键盘输入,实现操作系统的输入和输出。从今天开始我们的操作系统不在是一块“看板”了!…...

Gradle 的下载安装教程

Gradle 8.0.1 下载安装教程笔者的环境: Java 17.0.1 Gradle 8.0.1 Windows 10 教育版 64位 在继续阅读本教程之前,需要先完成 JDK 的安装。JDK 需要选择 8 及以上的版本。关于 JDK 的安装,可见笔者的另一篇博客: Java 的下载安…...

「Python 基础」常用模块

文章目录1. 内建模块datetimecollectionsnamedtuple()dequedefaultdictOrderedDictChainMapCounterbase64structhashlib摘要算法摘要的应用hmacitertoolscontextlib\_\_enter\_\_ 和 \_\_exit\_\_contextmanagerclosingurllibGETPOSTHandlerXMLDOMSAXHTMLParser2. 第三方模块Pi…...

Java【二叉搜索树和哈希表】详细图解 / 模拟实现 + 【Map和Set】常用方法介绍

文章目录前言一、二叉搜索树1、什么是二叉搜索树2、模拟实现二叉搜索树2.1, 查找2.2, 插入2.3, 删除3、性能分析二、模型三、哈希表1、什么是哈希表1.1, 什么是哈希冲突1.2, 避免, 解决哈希冲突1.2.1, 避免: 调节负载因子1.2.2, 解决1: 闭散列(了解)1.2.3, 解决2: 开散列/哈希桶…...

如何用 C 语言实现文本特征提取?

文本特征提取是一种将文本转换为数字或向量表示的技术,它是自然语言处理中的重要步骤。以下是一些用 C 语言实现文本特征提取的基本方法:基于词袋模型的特征提取词袋模型是一种将文本表示为单词频率的方法,可以通过以下步骤实现:将…...

ESD静电保护器件分类简介及场景应用

文章目录 1. ESD介绍1.1 ESD简介1.2 ESD产生原理1.3 ESD危害2. 器件级ESD模型2.1 人体模型(HBM)2.2 机器模型(MM)2.3 带电器件模型(CDM)3. 系统级ESD模型3.1 介绍3.2 防护器件分类简介3.2.1 TVS二极管3.2.2 MLCC陶瓷电容3.2.3 ESD抑制管3.2.4 MOV压敏电阻3.2.5 比较4. ES…...

硅谷银行倒闭的几点启示

摘要:本文从公开资料分析一下硅谷银行对信息科技行业的我们有一些什么启示。硅谷银行“拔网线”了,想创业的您,该注意了。1.硅谷银行是谁我们从其官网的说明来看看。The financial partner of the innovation economy.(翻译成中文…...

【AWS入门】IAM基本应用-2023/3/4

目录IAM概述根用户和IAM用户参考IAM概述 IAM(Identity Access Management)是身份和访问管理服务,要访问AWS服务和资源,就要使用IAM进行身份验证和授权。当我们通过控制台,CLI,或API访问AWS服务时,都需要通…...

RabbitMQ系列(1)--RabbitMQ简介

1、RabbitMQ概念RabbitMQ是一个消息中间件,不对消息进行处理,只对消息做接收、存储和转发。2、RabbitMQ四大核心概念(1)生产者产生数据发送信息的程序(2)交换机交换机是RabbitMQ中一个非常重要的部件,接收来着生产者的消息并把消息推送到队列…...

aws dynamodb 使用awsapi和PartiQL掌握dynamodb的CRUD操作

总结一下 dynamodb通常和java等后端sdk结合使用使用的形式可以是api或partiql语法调用dynamodb的用法不难,更重要的是维护成本,所需的服务集成,技术选型等和大数据结合场景下有独特优势 之后可能再看看java sdk中DynamoDBMapper的写法&…...

【C++学习】类和对象(上)

前言: 由于之前电脑“嗝屁”了,导致这之前一直没有更新博客,今天才拿到电脑,在这里说声抱歉。接下来就进入今天的学习,在之前我们已经对【C】进行了初步的认识,有了之前的知识铺垫,今天我们将来…...

OpenClaw+GLM-4.7-Flash:自动化代码审查与优化建议

OpenClawGLM-4.7-Flash:自动化代码审查与优化建议 1. 为什么需要自动化代码审查 作为一名长期与代码打交道的开发者,我深知代码审查的重要性,但传统的人工审查存在几个痛点:时间成本高、标准不统一、容易遗漏细节。特别是在个人项…...

esp-hosted 方案深度解析:从架构选型到性能调优实战

1. 为什么选择esp-hosted方案? 如果你正在为嵌入式系统寻找稳定可靠的无线连接方案,esp-hosted绝对值得考虑。这个由乐鑫推出的开源方案,本质上是通过ESP32系列芯片为Linux主机或MCU设备提供Wi-Fi和蓝牙连接能力。我曾在多个工业物联网项目中…...

Umi-OCR插件终极指南:如何选择最适合你的文字识别方案

Umi-OCR插件终极指南:如何选择最适合你的文字识别方案 【免费下载链接】Umi-OCR_plugins Umi-OCR 插件库 项目地址: https://gitcode.com/gh_mirrors/um/Umi-OCR_plugins 还在为文档扫描、图片文字提取效率低下而烦恼吗?Umi-OCR插件库为你提供了全…...

MyBatis 中 CDATA 的实战应用与避坑指南

1. 为什么MyBatis需要CDATA 在MyBatis的日常开发中&#xff0c;我们经常需要在XML映射文件中编写SQL语句。但XML本身对特殊字符有着严格的限制&#xff0c;比如小于号(<)、大于号(>)、和号(&)等字符在XML中都有特殊含义。这就导致了一个很现实的问题&#xff1a;当我…...

从Address Editor入手:在Block Design中精准调整Bram存储深度的实战解析

1. 当Bram存储深度无法修改时&#xff0c;你该怎么做&#xff1f; 第一次在Vivado中使用Block Design搭建系统时&#xff0c;很多人都会遇到一个奇怪的现象&#xff1a;明明在Bram IP核的参数设置界面看到了"Depth"这个选项&#xff0c;但无论如何点击都无法修改。这…...

EN50155以太网交换机的X键位M12插座在PCB板上同一高度方法

在轨道交通车载EN50155以太网交换机的PCB设计中&#xff0c;X键位M12插座&#xff08;千兆/万兆接口&#xff09;常需多个并排或阵列布局。由于X编码插座引脚数较多&#xff08;8芯&#xff09;且结构复杂&#xff0c;确保所有插座在PCB板上的同一高度&#xff08;共面性&#…...

告别依赖地狱:用Buildroot一键搞定OpenCV 4.x在ARM板上的交叉编译环境

告别依赖地狱&#xff1a;用Buildroot一键搞定OpenCV 4.x在ARM板上的交叉编译环境 在嵌入式视觉应用开发中&#xff0c;OpenCV几乎是不可或缺的计算机视觉库。但当开发者尝试将OpenCV部署到ARM架构的嵌入式设备时&#xff0c;往往会陷入依赖库编译的泥潭——FFmpeg、libjpeg、l…...

用过才敢说 AI论文平台测评:2026年最值得尝试的几款工具

2026年真正好用的AI论文平台&#xff0c;核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测&#xff0c;千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队&#xff0c;覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…...

知识引导上下文优化(KgCoOp):一种解决灾难性遗忘的 Prompt Tuning 机制

来源&#xff1a;DeepHub IMBA 本文约3000字&#xff0c;建议阅读5分钟本文提出了一种简单有效的约束机制。视觉-语言模型&#xff08;VLMs&#xff09;如 CLIP 彻底改变了零样本图像识别的处理方式。这类模型在包含 4 亿个图像-文本对的大规模数据集上进行训练&#xff0c;捕获…...

Angular Flex-Layout终极指南:掌握fxLayout、fxFlex、fxLayoutAlign核心指令

Angular Flex-Layout终极指南&#xff1a;掌握fxLayout、fxFlex、fxLayoutAlign核心指令 【免费下载链接】flex-layout Provides HTML UI layout for Angular applications; using Flexbox and a Responsive API 项目地址: https://gitcode.com/gh_mirrors/fl/flex-layout …...