Docker & Docker Compose 完整入门与实用技巧 - 教程
2025-09-26 13:10 tlnshuju 阅读(0) 评论(0) 收藏 举报1️⃣ Docker 常用命令
镜像操作
命令 | 作用 | 说明 |
---|---|---|
docker images | 列出本地镜像 | 包含镜像 ID、标签、大小 |
docker pull <镜像> | 拉取镜像 | 从 Docker Hub 或自建仓库拉取 |
docker build -t <镜像名:tag> . | 构建镜像 | 当前目录 Dockerfile 构建 |
docker rmi <镜像ID/镜像名> | 删除镜像 | 必须先删除依赖该镜像的容器 |
docker tag <源镜像> <目标镜像> | 镜像打标签 | 方便推送或管理 |
docker push <镜像> | 推送镜像 | 推送到远程仓库 |
容器操作
命令 | 作用 | 说明 |
---|---|---|
docker ps | 查看运行中容器 | 只显示运行中 |
docker ps -a | 查看所有容器 | 包括停止的 |
docker run -d --name <容器名> <镜像> | 运行容器 | -d 后台运行 |
docker stop <容器名> | 停止容器 | 安全停止 |
docker start <容器名> | 启动已存在容器 | 不删除容器 |
docker restart <容器名> | 重启容器 | 停止 + 启动 |
docker rm <容器名> | 删除容器 | 必须先 stop |
docker exec -it <容器名> bash | 进入容器 | 调试或管理容器 |
卷(Volume)管理
命令 | 作用 | 说明 |
---|---|---|
docker volume ls | 列出卷 | 查看本地数据卷 |
docker volume create <卷名> | 创建卷 | 用于数据持久化 |
docker volume rm <卷名> | 删除卷 | 删除前请确保卷不被容器使用 |
docker volume inspect <卷名> | 查看卷信息 | 包括挂载路径 |
网络管理
命令 | 作用 | 说明 |
---|---|---|
docker network ls | 列出网络 | 包括 bridge、host、custom |
docker network create <网络名> | 创建自定义网络 | 容器可加入自定义网络通信 |
docker network inspect <网络名> | 查看网络 | 显示容器连接信息 |
docker network rm <网络名> | 删除网络 | 必须先断开容器连接 |
清理与监控
命令 | 作用 | 说明 |
---|---|---|
docker logs -f <容器> | 查看日志 | -f 实时跟随 |
docker stats | 容器资源监控 | CPU、内存、网络 |
docker system prune -f | 清理未使用资源 | 删除无用容器、镜像、网络 |
docker container prune | 删除停止的容器 | 释放空间 |
docker volume prune | 删除无用卷 | 注意数据丢失 |
使用小技巧
后台启动 + 日志跟随
docker run -d --name myapp -p 8080:8080 myimage docker logs -f myapp docker exec -it myapp bash
升级部署
docker pull myimage:latest docker stop myapp docker rm myapp docker run -d --name myapp -p 8080:8080 myimage:latest
容器与卷数据持久化
docker system prune -f docker volume prune -f docker images
容器与卷数据持久化
使用
-v <本地路径>:<容器路径>
或-v <卷名>:<容器路径>
容器删除不影响卷数据
2️⃣ Docker Compose 常用命令
Docker Compose 用于定义和管理多容器应用,通过 docker-compose.yml
配置文件实现服务编排。
基本命令
命令 | 作用 | 常用选项 |
---|---|---|
docker-compose up | 启动服务 | -d :后台运行,--build :启动前 build 镜像 |
docker-compose down | 停止并删除容器 | --volumes :删除卷,--rmi all :删除镜像 |
docker-compose restart | 重启服务 | 指定服务名可重启部分服务 |
docker-compose stop | 停止服务 | 不删除容器 |
docker-compose start | 启动已存在容器 | 不重新创建 |
docker-compose logs | 查看日志 | -f 实时跟随 |
docker-compose ps | 查看容器状态 | 列出当前项目下的容器 |
docker-compose exec | 进入容器执行命令 | 服务名 bash |
docker-compose run | 临时执行任务 | --rm 执行完删除容器 |
docker-compose build | 构建镜像 | --no-cache 不使用缓存 |
启动流程(文字版)
假设 docker-compose.yml
定义了三个服务:db
、backend
、frontend
docker-compose down
docker-compose up -d
使用小技巧
后台启动 + 日志
docker-compose up -d docker-compose logs -f
只重启某个服务
docker-compose restart backend
彻底清理并重启
docker-compose down --volumes docker-compose up -d --build
进入容器调试
docker-compose exec backend bash
临时执行任务
docker-compose run --rm backend python manage.py migrate
总结思路
比喻理解:
Docker = 工厂管理员
镜像 = 模板
容器 = 工厂实例
卷 = 数据仓库
网络 = 工厂间通道
Compose = 调度员,按依赖顺序管理工厂启动
开发调试 →
up -d
+logs -f
+exec
升级部署 →
down --volumes
+up -d --build
临时任务 →
run --rm
快速重启 →
restart
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/918301.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!相关文章
建网站过程网站制作报价优惠
[html] 说说你对属性data-的理解
data- 属性是H5新增的自定义属性,也可以用来存储值。我个人用的不多,这个data- 属性倒是和vue中的v-bind 功能相似, 自定义属性,绑定数据。也和上面说的一样可以通过js进行获取使用个人简介
我是…
营销型网站建设合同戚墅堰做网站
云原生之使用Docker部署RSS阅读器Huntly 一、Huntly介绍1.1 Huntly简介1.2 Huntly功能2.1 本地环境规划2.2 本次实践介绍 三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本 四、下载Huntly镜像五、部署Huntly5.1 创建挂载目录5.2 创建Hun…
达州网站建设的公司怎么自己搭建梯子
最近在练习搭建网站,遇到游览器找不到服务器上的php文件的问题。后来查找发现,apache文档根目录跟apache虚拟主机文档根目录不同,服务器开启了虚拟主机功能。这导致游览器找不到php文件。
使用的环境是LAMP,它 的操作系统和软件版…
西安网站建设公司电话wordpress 删除 评论
事件以及事件相关的兼容性问题 事件最早是在 IE3 和 Navigator2 中出现的,当时是作为分担服务器运算负担的一种手段。要实现和网页的交互,就需要通过 JavaScript 里面的事件来实现。 每次用户与一个网页进行交互,例如点击链接,按下…
网站模板兼容手机端灰色推广引流联系方式
文章目录 📄前言一. Mybatis简介✈️1. 什么是Mybatis🚀2. 为什么使用Mybatis 二. Mybatis快速入门🍆1. mybatis使用前准备1.1 创建springboot项目并引入相关依赖1.2 在 application.ym中进行数据源的配置1.3 创建数据表,准备表数…
杭州网站建设哪个好想创建一个网站
🌼未封装 在项目中往往一个页面存在着要联调好几个接口,此时用下面的写法就会显得代码很冗余 // 向给定ID的用户发起请求
axios.get(/user?ID123456,{ params: { //发送请求的数据ID: 123456 }
})
.then(function (response) { // 处理成功情…
网站详情页用什么软件做如何制作自己的网站模版
理解依赖属性 依赖属性支持的特征包括:动画、数据绑定、样式。由WPF元素暴露的属性大部分都是依赖属性。依赖属性和常规属性的使用方法相同。 WPF设计了依赖属性支持其特有的动态特性,并且不干扰其他系统的.net代码。 定义依赖属性 创造一个依赖属性的语…
PySide6 之鼠标事件写字板
一、效果图二、示例代码from PySide6.QtWidgets import *
from PySide6.QtCore import *
from PySide6.QtGui import *
import sysclass ImageWidget(QWidget):pass鼠标控制图片缩放、拖动,鼠标滚动放大、缩小
class …
深入解析:golang基础语法(三)常量、指针、别名、关键字、运算符、字符串类型转换
深入解析:golang基础语法(三)常量、指针、别名、关键字、运算符、字符串类型转换pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; fo…
烟台网站建设方案成都市建设局官方网站
目录 一. 空属性null
二. 默认值default
三. 列描述comment
四. 填充零zerofill
五. 主键primary key
六. 自增长auto_increment
七. 唯一键unique
八. 外键foreign key 一. 空属性null
对于表中的数据,如果在进行插入的时候不显示地给定值,那么…
单B细胞技术如何实现兔单抗高通量高特异制备
单B细胞技术如何实现兔单抗高通量高特异制备
在单克隆抗体(mAb)研发领域,兔源单抗以其高亲和力和高特异性备受关注。传统的杂交瘤技术虽然成熟,但周期长、效率低,而且抗体多样性有限。近年来,单B细胞技术的出现,…
实用指南:Golang学习笔记: 常用标准库
实用指南:Golang学习笔记: 常用标准库pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mo…
AI论文速读 | 当大语言模型遇上时间序列:大语言模型能否执行多步时间序列推理与推断 - 指南
pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …
unordered_map性能被吊打!我用基数树让内存池性能暴涨几十倍的秘密
哈喽,大家好,我是小康!
今天要和大家聊一个特别有意思的话题——基数树。
说实话,我第一次听到这个名词的时候,内心是懵逼的。基数?树?这玩意儿到底是啥?
直到有一天,我在研究TCMalloc内存池源码的时候,发现…
网站备案后可以更换域名吗网红营销优势
Title
题目
Automated anomaly-aware 3D segmentation of bones and cartilages in kneeMR images from the Osteoarthritis Initiative
来自骨关节炎计划的膝关节MR图像的自动异常感知3D骨骼和软骨分割 Background
背景
近年来,多个机器学习算法被提出用于图像…
asp网站配置伪静态重庆注册公司核名在哪个网站
上次提到的开机自启动的配置,获得了LD的称赞,然而LD的要求,都是“既得陇复望蜀”的,他又期望我们能实现openGauss安装的“自动化”,于是尝试了下用shell脚本部署,附件中的脚本实测有效,openEule…
详细介绍:《 Linux 点滴漫谈: 一 》开源之路:Linux 的历史、演进与未来趋势
详细介绍:《 Linux 点滴漫谈: 一 》开源之路:Linux 的历史、演进与未来趋势pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-fa…
深入解析:TENGJUN“二合一(2.5MM+3.5MM)”耳机插座:JA10-BPD051-A;参数与材质说明
深入解析:TENGJUN“二合一(2.5MM+3.5MM)”耳机插座:JA10-BPD051-A;参数与材质说明pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important…
龙凤网站建设云聚达长春网站建设哪里好
基于飞桨paddle波士顿房价预测练习模型测试代码 导入基础库
#paddle:飞桨的主库,paddle 根目录下保留了常用API的别名,当前包括:paddle.tensor、paddle.framework、paddle.device目录下的所有API;
import paddle
#Lin…