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

docker常用命令集锦

目录

一、查看版本信息

1.1 查看 Docker CLI 版本:

1.2 查看 Docker 详细版本信息:

1.3 查看 Docker 系统信息:

二、进入和退出容器

2.1 进入容器:

2.2 退出容器:

2.3 查看容器日志:

2.4 查看容器的 IP 地址:

三、生成新的镜像

3.1 将容器打包生成新的镜像:

3.2 使用带注释的命令生成镜像:

四、导入镜像

解压并导入 Docker 镜像:

五、创建和运行容器

5.1 创建容器:

5.2 使用镜像运行容器:

5.3 运行 PostgreSQL 容器:

5.4 示例命令:

六、复制文件到容器

6.1 从主机复制文件到容器:

6.2 向 Docker 容器拷贝文件:

七、查看和管理容器

7.1查看所有容器:

7.2 查看运行中的容器:

7.3 启动和停止容器:

八、Docker Compose

8.1 使用 Docker Compose:

8.2 卸载 Docker Compose:

8.3 安装指定版本的 Docker Compose:

8.4 赋予 Docker Compose 执行权限:

九、使用 Dockerfile 构建镜像

9.1 构建镜像:

9.2 Dockerfile 常用指令:

十、清理镜像和容器

10.1 删除镜像:

10.2 删除容器:

10.3 清理所有镜像和容器:

10.4 清除名称为 none 的镜像:

十一、安装问题

11.1 VMware Workstation 与 Device/Credential Guard 不兼容:

11.2 重新开启 Hyper-V:

11.3 家庭版 Win10 开启 Hyper-V:

11.4 安装 Docker Desktop:

11.5 解决 WSL 2 安装不完整报错:

十二、Docker 中使用 CentOS7 镜像


一、查看版本信息

在使用 Docker 之前,了解 Docker 的版本和信息是至关重要的。

1.1 查看 Docker CLI 版本

docker --version

1.2 查看 Docker 详细版本信息

docker version

1.3 查看 Docker 系统信息

docker info

二、进入和退出容器

2.1 进入容器

docker exec -it 容器ID /bin/bash

2.2 退出容器

    • 使用 Ctrl-D
    • 或在容器内执行:
exit

2.3 查看容器日志

docker logs -tf 容器ID

2.4 查看容器的 IP 地址

docker inspect 容器ID

三、生成新的镜像

3.1 将容器打包生成新的镜像

docker commit 容器ID 新镜像名:标签

3.2 使用带注释的命令生成镜像

docker commit -m "修改说明" -a "作者信息" 容器ID 新镜像名字

四、导入镜像

解压并导入 Docker 镜像

xz -d pearocr_image.tar.xz
docker import pearocr_image.tar pearocr:latest

五、创建和运行容器

5.1 创建容器

docker run -itd -p 0.0.0.0:7890:8000 
--name pearocr_env pearocr:latest /root/PearOCR/run

5.2 使用镜像运行容器

docker run --name 容器名称 -d -p 主机端口:容器端口 镜像名:标签

5.3 运行 PostgreSQL 容器

docker run --name postgres1 -e POSTGRES_PASSWORD=password-p 54321:5432 -d postgres:9.4

5.4 示例命令

docker run -p 8000:80 
--name aspnetcore_sample mcr.microsoft.com/dotnet/core/samples:aspnetapp

六、复制文件到容器

6.1 从主机复制文件到容器

docker cp 本地主机路径 容器ID:容器内路径docker cp /data/my.cnf 1358f******:/etc/mysql

6.2 向 Docker 容器拷贝文件

docker cp /root/init.sh 容器ID:/home/hundsun/workspace/log

6.3 从 Docker 容器拷贝文件到外部系统目录

docker cp 1358f****###:/etc/mysql/my.cnf /data

七、查看和管理容器

7.1查看所有容器

docker container ls -a

7.2 查看运行中的容器

docker ps -a

7.3 启动和停止容器

docker start 容器ID或名称
docker stop 容器ID或名称

八、Docker Compose

8.1 使用 Docker Compose

docker-compose -f apijl-dev.yml up -d

8.2 卸载 Docker Compose

sudo rm /usr/local/bin/docker-compose

8.3 安装指定版本的 Docker Compose

sudo curl -L https://github.com/docker/compose/releases/download/1.9.0-rc3/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

8.4 赋予 Docker Compose 执行权限

sudo chmod +x /usr/local/bin/docker-compose

九、使用 Dockerfile 构建镜像

9.1 构建镜像

docker build -t 镜像名:标签 .

9.2 Dockerfile 常用指令

    • FROM:指定基础镜像
    • WORKDIR:设置工作目录
    • MAINTAINER:镜像维护者信息
    • COPY:复制文件到镜像中
    • RUN:执行命令
    • ENTRYPOINT:定义容器的入口点
    • CMD:设置默认命令和参数
    • EXPOSE:暴露端口
    • ENV:设置环境变量

十、清理镜像和容器

10.1 删除镜像

docker rmi 镜像名:标签或镜像ID

10.2 删除容器

docker rm 容器ID或名称

10.3 清理所有镜像和容器

docker kill $(docker ps -q) ; 
docker rm $(docker ps -a -q) ; 
docker rmi $(docker images -q -a)

10.4 清除名称为 none 的镜像

docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker stop
docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker rm
docker images | grep none | awk '{print $3 }'|xargs docker rmi

十一、安装问题

11.1 VMware Workstation 与 Device/Credential Guard 不兼容

bcdedit /set hypervisorlaunchtype off

11.2 重新开启 Hyper-V

bcdedit /set hypervisorlaunchtype auto

11.3 家庭版 Win10 开启 Hyper-V

pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL

11.4 安装 Docker Desktop

  • 非专业版 Win10 安装 Docker
REG ADD "HKEY_LOCAL_MACHINE\software\Microsoft\Windows NT\CurrentVersion" /v EditionId /T REG_EXPAND_SZ /d Professional /F

11.5 解决 WSL 2 安装不完整报错

    • 更新 WSL 2:
      微软官网下载安装最新版的 WSL 2。

十二、Docker 中使用 CentOS7 镜像

  1. 参考教程
    使用 CentOS7 镜像的教程

通过这篇指南,你可以全面了解 Docker 的基础操作、进阶使用以及一些常见问题的解决方法。Docker 的强大功能和灵活性可以帮助你在开发和部署过程中大大提升效率。希望这篇文章能为你提供有价值的信息,助你更好地掌握 Docker。

相关文章:

docker常用命令集锦

目录 一、查看版本信息 1.1 查看 Docker CLI 版本: 1.2 查看 Docker 详细版本信息: 1.3 查看 Docker 系统信息: 二、进入和退出容器 2.1 进入容器: 2.2 退出容器: 2.3 查看容器日志: 2.4 查看容器的…...

学习Java的日子 Day56 数据库连接池,Druid连接池

Day56 1.数据库连接池 理解:池就是容器,容器中存放了多个连接对象 使用原因: 1.优化创建和销毁连接的时间(在项目启动时创建连接池,项目销毁时关闭连接池) 2.提高连接对象的复用率 3.有效控制项目中连接的…...

如何实现PostgreSQL对某一张表的WAL日志进行记录

PostgreSQL 没有内置的 binlog(binary log)机制像 MySQL 那样。它使用 Write-Ahead Logging (WAL) 来记录数据库的变更。要将这些变更记录到某张表中,通常可以使用逻辑复制(Logical Replication)和触发器(T…...

机器学习数学基础(2)--最大似然函数

声明:本文章是根据网上资料,加上自己整理和理解而成,仅为记录自己学习的点点滴滴。可能有错误,欢迎大家指正。 在机器学习和统计学领域中,似然函数(Likelihood Function)是一个至关重要的概念。…...

详解 @RequestHeader 注解在 Spring Boot 中的使用

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119@qq.com] 📱个人微信:15279484656 🌐个人导航网站:www.forff.top 💡座右铭:总有人要赢。为什么不能是我呢? 专栏导…...

C# 表达式树的简介与说明

文章目录 1. 表达式树是什么?2. 表达式树的基本组成3. 构建表达式树的步骤4. 表达式树的使用场景5. 示例代码6. 总结 在 C# 编程中,表达式树(Expression Tree)是一个强大的概念,它允许我们以代码的形式表示运行时的代码…...

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第三篇 嵌入式Linux驱动开发篇-第六十三章 输入子系统实验

i.MX8MM处理器采用了先进的14LPCFinFET工艺,提供更快的速度和更高的电源效率;四核Cortex-A53,单核Cortex-M4,多达五个内核 ,主频高达1.8GHz,2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…...

[补题记录]Leetcode 15. 三数之和

传送门:三数之和 思路 为了去重,需要先排序。 排序之后,显然每一个 n u m s [ i ] nums[i] nums[i] 就可以作为三数之中的第一个数。 因此,对于每一个 i i i,第二、三个数只能在 [ i 1 , n ] [i 1, n] [i1,n]…...

什么是sql注入攻击,如何预防介绍一下mysql中的常见数据类型

什么是sql注入攻击,如何预防 sql注入攻击指的是应用程序对用户输入数据的合法性没有判断或者过滤不严格,在sql语句中插入任意的恶意语句进行非法操作。 预防方式1:使用预编译语句比如PrepareStatement,用户输入的所有数据都以参数…...

史上最全的Seata教学并且连接springcloudAlibaba进行使用

来都来了点个赞收藏一下在走呗~~🌹🌹玫瑰 一、Seata是什么 Seata(Simple Extensible Autonomous Transaction Architecture,简单可扩展自治事务框架)是一种分布式事务解决方案,旨在解决分布式系统中的事务…...

InternLM Git 基础知识

提交一份自我介绍。 创建并提交一个项目。...

【Unity模型】古代亚洲建筑

在Unity Asset Store上,一款名为"Ancient Asian Buildings Pack"(古代亚洲建筑包)的3D模型资源包,为广大开发者和设计师提供了一个将古代亚洲建筑风格融入Unity项目的机会。本文将详细介绍这款资源包的特点、使用方式以…...

木马后门实验

实验拓扑 实验步骤 防火墙 配置防火墙—充当边界NAT路由器 边界防火墙实现内部 DHCP 分配和边界NAT需求,其配置如下 登录网页 编辑接口 配置e0/0 配置e0/1 编辑策略 测试:内部主机能获得IP,且能与外部kali通信 kali 接下来开启 kali 虚…...

【React】useState:状态更新规则详解

文章目录 一、基本用法二、直接修改状态 vs 使用 setState 更新状态三、对象状态的更新四、深层次对象的更新五、函数式更新六、优化性能的建议 在 React 中,useState 是一个非常重要的 Hook,用于在函数组件中添加状态管理功能。正确理解和使用 useState…...

C#中的异步编程:Task、Await 和 Async

public async void DoSth() {await Task.Run(() > {//...DoSth...}); } ①函数的返回类型前加上: async ②函数内加上: await Task.Run(() > { }); ③在上面{ ... } 内添加要处理的程序代码, 这样运行到 DoSth() 函数就…...

SSRF-labs-master靶场

目录 file_get_content.php sql_connect.php download.php dns-spoofing.php dns_rebinding.php 访问链接 http://127.0.0.1/SSRF/# file_get_content.php 在编程语言中,有一些函数可以获取本地保存文件的内容。这些功能可能能够从远程URL以及本地文件 如果没…...

HBuilder X中配置vue-cli项目和UI库

目录 一.前端项目结构 二.在HBuilder X中搭建vue-cli项目 1. 安装node.js前端环境 2. HBuilder X创建一个vue-cli项目 3. vue-cli项目结构 4. 如何运行前端项目 5. 创建组件 6. 组件路由(页面跳转) 6.1 创建router目录 6.2 使用路由 6.3 在main.js中配置路由 6.4 路…...

如何用PostMan按照规律进行循环访问接口

①设置动态变量 步骤一: 设置环境变量 1. 创建环境变量集合 在 Postman 左上角选择 "环境",然后点击 "添加" 来创建一个新的环境变量集合。给它起一个名称,比如 "uploadDemo". 2. 添加初始变量 在新创建的环境变量集…...

稳态准直太阳光模拟器仪器光伏电池组件IV测试

太阳能模拟器电池IV测试仪、单体测试仪,配备匹配标准的AAA Class稳态太阳能模拟器及相关测试附件,可对太阳能电池片的IV性能进行测量、分级分选等; 介绍 AAA class太阳光模拟器整合完整的IV测量系统,针对各种太阳能电池的性能&a…...

vue3 reactive原理(二)-代理Set和Map及ref原理

Set和Map类型的数据也属于异质对象,它们有特定的属性和方法用来操作自身。因此创建代理时,针对特殊的方法需要特殊的对待。 Vue 的ref 是基于reactive函数实现的,它在其基础上,增加了基本类型的响应性、解决reactive在解构时丢失…...

CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型

CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...

遍历 Map 类型集合的方法汇总

1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案

这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...

Java + Spring Boot + Mybatis 实现批量插入

在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法&#xff1a;使用 MyBatis 的 <foreach> 标签和批处理模式&#xff08;ExecutorType.BATCH&#xff09;。 方法一&#xff1a;使用 XML 的 <foreach> 标签&#xff…...

【C++进阶篇】智能指针

C内存管理终极指南&#xff1a;智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

STM32---外部32.768K晶振(LSE)无法起振问题

晶振是否起振主要就检查两个1、晶振与MCU是否兼容&#xff1b;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容&#xff08;CL&#xff09;与匹配电容&#xff08;CL1、CL2&#xff09;的关系 2. 如何选择 CL1 和 CL…...

WPF八大法则:告别模态窗口卡顿

⚙️ 核心问题&#xff1a;阻塞式模态窗口的缺陷 原始代码中ShowDialog()会阻塞UI线程&#xff0c;导致后续逻辑无法执行&#xff1a; var result modalWindow.ShowDialog(); // 线程阻塞 ProcessResult(result); // 必须等待窗口关闭根本问题&#xff1a…...

6.9-QT模拟计算器

源码: 头文件: widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QMouseEvent>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent nullptr);…...

【实施指南】Android客户端HTTPS双向认证实施指南

&#x1f510; 一、所需准备材料 证书文件&#xff08;6类核心文件&#xff09; 类型 格式 作用 Android端要求 CA根证书 .crt/.pem 验证服务器/客户端证书合法性 需预置到Android信任库 服务器证书 .crt 服务器身份证明 客户端需持有以验证服务器 客户端证书 .crt 客户端身份…...