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

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名称
Commands up 创建并启动所有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
相关推荐
咩咩啃树皮2 小时前
第40篇:Vue3组件化开发精讲——组件拆分、复用、父子通信、工程化架构
java·前端·架构
鱟鲥鳚3 小时前
Spring Boot 集成 LangChain4j:从模型调用到 Tool Calling(Demo版)
java·spring boot
Linux-18743 小时前
分布式链路追踪系统之docker-compose安装skywalking
云原生·docker-compose·skywalking·分布式链路追踪系统·应用程序性能监控
大模型码小白4 小时前
【Python零基础教程】继承、多态与魔法函数:面向对象编程三大核心特性详解
java·大数据·开发语言·人工智能·python·ai编程
腾渊信息科技公司5 小时前
Spring Boot对接MES实战:视觉检测数据自动同步方案
java·人工智能·spring boot·后端·计算机视觉·ai·软件需求
爱笑的源码基地6 小时前
高并发 Redis 缓存门诊HIS系统源码,含财务统计药房进销存
java·程序·门诊系统·诊所系统·云诊所源码
wuqingshun3141596 小时前
TCP超时重传机制是为了解决什么问题?
java
遇乐的果园7 小时前
前端学习笔记-vue加载渲染优化
前端·笔记·学习
遇乐的果园8 小时前
前端学习笔记-vue状态管理优化
前端·笔记·学习
莫逸风9 小时前
【AgentScope 2.0】 0. 学习指南
java·llm·agent·agentscope