docker学习笔记跟常用命令总结

ops/2024/11/25 2:55:10/

Docker简介

Docker是一个用于构建运行传送应用程序的平台

镜像

将应用所需的函数库、依赖、配置等与应用一起打包得到的就是镜

镜像结构

镜像管理命令

命令说明
docker pull拉取镜像
docker push推送镜像
docker images查看本地镜像
docker rmi删除本地镜像
docker image prune删除不再使用的镜像
docker save保存镜像到本地压缩文件
docker load加载本地压缩文件到镜像
docker inspect查看容器详细信息
docker search检索镜像
docker history查看镜像历史
docker import将文件系统导入为镜像
docker commit从容器创建镜像
docker build构建镜像

Dockerfile

Dockerfile就是一个文本文件,其中包含一个个的指令(Instruction),用指令来说明要执行什么操作来构建镜像。

常用Dockerfile指令

指令说明
FROM指定基础镜像
ENV设置环境变量,可在后面指令使用
COPY拷贝本地文件到镜像的指定目录
RUN执行Linux的shell命令,一般安装过程的命令
EXPOSE指定容器运行时监听的端口,是给镜像使用者看到
ENTRYPOINT镜像中应用的启动命令,容器运行时调用

更新详细语法说明,请参考官网文档: Dockerfile reference | Docker Docs

容器

为每个镜像的应用进程创建的隔离运行环境就是容器

容器管理命令

命令说明
docker create创建容器(仅创建,不运行)
docker run创建并运行容器(不能重复创建)
docker stop停止指定容器
docker start启动指定容器
docker restart重新启动容器
docker rm删除指定容器
docker ps查看容器
docker logs查看容器运行日志
docker exec进入容器
dockers export导出容器
docker import导入容器快照
docker port查看容器端口映射
docker top显示容器内进程
docker cp复制本地文件到容器内指定文件
docker diff显示容器内的变化
docker starts显示容器资源使用情况

镜像容器常用命令

Docker最常见的命令就是操作镜像、容器的命令,详见官方文档: https://docs.docker.com/

命令说明
docker pull拉取镜像
docker push推送镜像到DockerRegistry
docker images查看本地镜像
docker rmi删除本地镜像
docker run创建并运行容器(不能重复创建)
docker stop停止指定容器
docker start启动指定容器
docker restart重新启动容器
docker rm删除指定容器
docker ps查看容器
docker logs查看容器运行日志
docker exec进入容器
docker save保存镜像到本地压缩文件
docker load加载本地压缩文件到镜像
docker inspect查看容器详细信息

镜像仓库

存储和管理镜像的服务就是镜像仓库,

DockerHub是目前最大的镜像仓库,其中包含各种常见的应用镜像

数据卷

数据卷(volume)是一个虚拟目录,是容器内目录宿主机目录之间映射的桥梁。

挂载数据卷

在创建容器时,利用 -v 数据卷名:容器内目录完成挂载

容器创建时,如果发现挂载的数据卷不存在时,会自动创建

数据管理命令

命令说明
docker volume create创建数据卷
docker volume ls查看所有数据卷
docker volume rm删除指定数据卷
docker volume inspect查看某个数据卷的详情
docker volume prune清楚数据卷

网络

默认情况下,所有容器都是以bridge方式连接到Docker的一个虚拟网桥上,加入自定义网络的容器才可以通过容器名互相访问。

网络管理命令

命令说明
docker network create创建一个网络
docker network ls查看所有网络
docker network rm删除指定网络
docker network prune清除未使用的网络
docker network connect使指定容器连接加入某网络
docker network disconnect使指定容器连接离开某网络
docker network inspect查看网络详细信息

DockerCompose

Docker Compose通过一个单独的docker-compose.yml 模板文件(YAML 格式)来定义一组相关联的应用容器,帮助我们实现多个相互关联的Docker容器的快速部署。

DockerCompose常用命令

类型参数或指令说明
Options-f指定compose文件的路径和名称
-p指定project名称
Commandsup创建并启动所有service容器
down停止并移除所有容器、网络
ps列出所有启动的容器
logs查看指定容器的日志
stop停止容器
start启动容器
restart重启容器
top查看运行的进程
exec在指定的运行中容器中执行命令

插件管理命令

命令说明
docker plugin ls列出插件
docker plugin install安装插件
docker plugin enable启用插件
docker plugin disable禁用插件
docker plugin rm卸载插件

日常操作命令

命令作用
docker info查看docker系统信息
docker version查看docker版本
docker --help查看docker帮助文档
docker login登录DockerHub
docker logout退出DockerHub

http://www.ppmy.cn/ops/136456.html

相关文章

本地项目提交到gitee

本地项目提交到gitee 无论是GitCode,Gitee,GitLab 还是github,操作都大同小异。这里只是用Gitee举例 一、gitee中新建项目 创建完成 二、设置远程仓库地址 在本地项目目录下,右击打开git bash 运行git init命令。这会在本地项目…

sql server 查看索引的使用

---sql text 和执行计划select top 200 c.creation_time ,c.last_execution_time ,c.execution_count, --c.query_text,plan1.query_plan , c.total_worker_time/execution_count/1000/1000.00 AGV_worker_time_S,c.total_elapsed_time/execution_count/1000/1000.00 AGV…

Python蓝桥杯刷题1

1.确定字符串是否包含唯一字符 题解:调用count函数计算每一个字符出现的次数,如果不等于1就输出no,并且结束循环,如果等于1就一直循环直到计算到最后一个字符,若最后一个字符也满足条件,则输出yes import…

【Homework】【7】Learning resources for DQ Robotics in MATLAB

阻尼伪逆使系统在任务空间奇异性方面具有一定的鲁棒性 阻尼伪逆 阻尼伪逆是SVD(奇异值分解)逆矩阵的一种有趣替代方法,它使系统在任务空间奇异性方面具有一定的鲁棒性。其主要思想是对任意(可能为奇异的)矩阵 B ∈ …

使用线程局部存储解决ffmpeg中多实例调用下自定义日志回调问题

1 问题描述 最近在封装一个库,调用方传入一个URL及对应的回调后就开始执行ffmpeg拉流硬解码硬件格式转换,并将得到的数据帧通过回调传递给调用方;除了数据帧回调外,还有日志回调用来传递一些调试信息。 因为该封装库可能被一个进…

常用Rust日志处理工具教程

在本文中,我想讨论Rust中的日志。通过一些背景信息,我将带您了解两个日志库:env_logger和log4rs。最后,我将分享我的建议和github的片段。 Rust log介绍 log包是Rust中日志API的事实标准,共有五个日志级别&#xff1…

Linux环境开启MongoDB的安全认证

在Linux环境下启动MongoDB并启用安全认证,你需要进行以下步骤: 1.创建MongoDB的配置文件(如果还没有的话)。 2.编辑配置文件以启用认证。 3.重启MongoDB服务。 以下是具体步骤的示例: 创建MongoDB配置文件&#xf…

基于YOLOv8深度学习的农作物番茄成熟度检测系统研究与实现(PyQt5界面+数据集+训练代码)

本研究详细研究并实现了一种基于深度学习的农作物番茄成熟度检测系统,旨在为现代农业提供智能化、自动化的解决方案。随着农业智能化的发展,传统的农作物成熟度检测方法面临着效率低、依赖人工经验等问题,而本系统通过结合先进的YOLOv8目标检…