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

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

Opencv中的addweighted函数

一.addweighted函数作用 addweighted&#xff08;&#xff09;是OpenCV库中用于图像处理的函数&#xff0c;主要功能是将两个输入图像&#xff08;尺寸和类型相同&#xff09;按照指定的权重进行加权叠加&#xff08;图像融合&#xff09;&#xff0c;并添加一个标量值&#x…...

重启Eureka集群中的节点,对已经注册的服务有什么影响

先看答案&#xff0c;如果正确地操作&#xff0c;重启Eureka集群中的节点&#xff0c;对已经注册的服务影响非常小&#xff0c;甚至可以做到无感知。 但如果操作不当&#xff0c;可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)

前言&#xff1a; 最近在做行为检测相关的模型&#xff0c;用的是时空图卷积网络&#xff08;STGCN&#xff09;&#xff0c;但原有kinetic-400数据集数据质量较低&#xff0c;需要进行细粒度的标注&#xff0c;同时粗略搜了下已有开源工具基本都集中于图像分割这块&#xff0c…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP

编辑-虚拟网络编辑器-更改设置 选择桥接模式&#xff0c;然后找到相应的网卡&#xff08;可以查看自己本机的网络连接&#xff09; windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置&#xff0c;选择刚才配置的桥接模式 静态ip设置&#xff1a; 我用的ubuntu24桌…...

【VLNs篇】07:NavRL—在动态环境中学习安全飞行

项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战&#xff0c;克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...

解读《网络安全法》最新修订,把握网络安全新趋势

《网络安全法》自2017年施行以来&#xff0c;在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂&#xff0c;网络攻击、数据泄露等事件频发&#xff0c;现行法律已难以完全适应新的风险挑战。 2025年3月28日&#xff0c;国家网信办会同相关部门起草了《网络安全…...

【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)

LeetCode 3309. 连接二进制表示可形成的最大数值&#xff08;中等&#xff09; 题目描述解题思路Java代码 题目描述 题目链接&#xff1a;LeetCode 3309. 连接二进制表示可形成的最大数值&#xff08;中等&#xff09; 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...

什么是VR全景技术

VR全景技术&#xff0c;全称为虚拟现实全景技术&#xff0c;是通过计算机图像模拟生成三维空间中的虚拟世界&#xff0c;使用户能够在该虚拟世界中进行全方位、无死角的观察和交互的技术。VR全景技术模拟人在真实空间中的视觉体验&#xff0c;结合图文、3D、音视频等多媒体元素…...