当前位置: 首页 > 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在解构时丢失…...

模型参数、模型存储精度、参数与显存

模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版​分享

平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...

(二)原型模式

原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

C++.OpenGL (10/64)基础光照(Basic Lighting)

基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error

在前端开发中,JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作(如 Promise、async/await 等),开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝(r…...

Linux部署私有文件管理系统MinIO

最近需要用到一个文件管理服务,但是又不想花钱,所以就想着自己搭建一个,刚好我们用的一个开源框架已经集成了MinIO,所以就选了这个 我这边对文件服务性能要求不是太高,单机版就可以 安装非常简单,几个命令就…...

WEB3全栈开发——面试专业技能点P7前端与链上集成

一、Next.js技术栈 ✅ 概念介绍 Next.js 是一个基于 React 的 服务端渲染(SSR)与静态网站生成(SSG) 框架,由 Vercel 开发。它简化了构建生产级 React 应用的过程,并内置了很多特性: ✅ 文件系…...

Spring Boot + MyBatis 集成支付宝支付流程

Spring Boot MyBatis 集成支付宝支付流程 核心流程 商户系统生成订单调用支付宝创建预支付订单用户跳转支付宝完成支付支付宝异步通知支付结果商户处理支付结果更新订单状态支付宝同步跳转回商户页面 代码实现示例&#xff08;电脑网站支付&#xff09; 1. 添加依赖 <!…...

书籍“之“字形打印矩阵(8)0609

题目 给定一个矩阵matrix&#xff0c;按照"之"字形的方式打印这个矩阵&#xff0c;例如&#xff1a; 1 2 3 4 5 6 7 8 9 10 11 12 ”之“字形打印的结果为&#xff1a;1&#xff0c;…...

一些实用的chrome扩展0x01

简介 浏览器扩展程序有助于自动化任务、查找隐藏的漏洞、隐藏自身痕迹。以下列出了一些必备扩展程序&#xff0c;无论是测试应用程序、搜寻漏洞还是收集情报&#xff0c;它们都能提升工作流程。 FoxyProxy 代理管理工具&#xff0c;此扩展简化了使用代理&#xff08;如 Burp…...