当前位置: 首页 > 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。

http://www.lryc.cn/news/410261.html

相关文章:

  • 学习Java的日子 Day56 数据库连接池,Druid连接池
  • 如何实现PostgreSQL对某一张表的WAL日志进行记录
  • 机器学习数学基础(2)--最大似然函数
  • 详解 @RequestHeader 注解在 Spring Boot 中的使用
  • C# 表达式树的简介与说明
  • 【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第三篇 嵌入式Linux驱动开发篇-第六十三章 输入子系统实验
  • [补题记录]Leetcode 15. 三数之和
  • 什么是sql注入攻击,如何预防介绍一下mysql中的常见数据类型
  • 史上最全的Seata教学并且连接springcloudAlibaba进行使用
  • InternLM Git 基础知识
  • 【Unity模型】古代亚洲建筑
  • 木马后门实验
  • 【React】useState:状态更新规则详解
  • C#中的异步编程:Task、Await 和 Async
  • SSRF-labs-master靶场
  • HBuilder X中配置vue-cli项目和UI库
  • 如何用PostMan按照规律进行循环访问接口
  • 稳态准直太阳光模拟器仪器光伏电池组件IV测试
  • vue3 reactive原理(二)-代理Set和Map及ref原理
  • Python自然语言处理库之NLTK与spaCy使用详解
  • Hive-内部表和外部表
  • Java并发编程(三)
  • Flink Doirs Connector 常见问题:Doris目前不支持流读
  • 期末复习资料——计算机系统基础
  • 一天搞定Recat(5)——ReactRouter(上)【已完结】
  • TCP/IP 网络模型详解(二)之输入网址到网页显示的过程
  • 【k8s故障处理篇】calico-kube-controllers状态为“ImagePullBackOff”解决办法
  • SAP PP学习笔记31 - 计划运行的步骤2 - Scheduling(日程计算),BOM Explosion(BOM展开)
  • [vue3]配置@指向src
  • 【多模态大模型】 BLIP in ICML 2022