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。
- 更新 WSL 2:
十二、Docker 中使用 CentOS7 镜像
- 参考教程:
使用 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在解构时丢失…...

从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

C# 类和继承(抽象类)
抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...

以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...

基于PHP的连锁酒店管理系统
有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...