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

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言:多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

条件运算符

C中的三目运算符&#xff08;也称条件运算符&#xff0c;英文&#xff1a;ternary operator&#xff09;是一种简洁的条件选择语句&#xff0c;语法如下&#xff1a; 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true&#xff0c;则整个表达式的结果为“表达式1”…...

sqlserver 根据指定字符 解析拼接字符串

DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

css的定位(position)详解:相对定位 绝对定位 固定定位

在 CSS 中&#xff0c;元素的定位通过 position 属性控制&#xff0c;共有 5 种定位模式&#xff1a;static&#xff08;静态定位&#xff09;、relative&#xff08;相对定位&#xff09;、absolute&#xff08;绝对定位&#xff09;、fixed&#xff08;固定定位&#xff09;和…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成

厌倦手动写WordPress文章&#xff1f;AI自动生成&#xff0c;效率提升10倍&#xff01; 支持多语言、自动配图、定时发布&#xff0c;让内容创作更轻松&#xff01; AI内容生成 → 不想每天写文章&#xff1f;AI一键生成高质量内容&#xff01;多语言支持 → 跨境电商必备&am…...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

智能AI电话机器人系统的识别能力现状与发展水平

一、引言 随着人工智能技术的飞速发展&#xff0c;AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术&#xff0c;在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

Selenium常用函数介绍

目录 一&#xff0c;元素定位 1.1 cssSeector 1.2 xpath 二&#xff0c;操作测试对象 三&#xff0c;窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四&#xff0c;弹窗 五&#xff0c;等待 六&#xff0c;导航 七&#xff0c;文件上传 …...