news 2026/4/15 16:09:16

Docker 详解与部署微服务实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Docker 详解与部署微服务实战

Docker 详解与部署微服务实战

主讲老师:Fox
有道笔记地址链接:https://note.youdao.com/s/8eWHV1Jr


1. Docker详解

1.1 Docker简介

Docker 是一个开源的容器化平台,可以帮助开发者将应用程序和其依赖的环境打包成一个可移植、可部署的容器。

容器化是一种虚拟化技术,通过操作系统层面的隔离实现应用程序的独立运行。

与传统虚拟机相比的优势:
  • 轻量级:容器与宿主机共享内核,启动快,资源占用少。
  • 可移植性:可在任何支持容器运行时的系统中运行。
  • 快速部署:简化打包、分发和部署流程。
  • 弹性扩展:可快速创建、启动和停止容器。
  • 环境隔离:容器之间相互隔离,安全稳定。
Docker 与传统虚拟机的区别:
  • 虚拟机:模拟完整硬件和操作系统,系统级隔离。
  • Docker:进程级隔离,共享宿主机内核。

1.2 Docker 架构

Client
├── Docker_build
├── docker pull
└── docker run

DOCKER_HOST
├── Docker daemon
├── Containers
└── Images

Registry (如 Docker Hub)

  • Docker Daemon:运行在宿主机的后台进程。
  • Client:用户界面,接受命令并与 Daemon 通信。
  • Images:只读模板,用于创建容器。
  • Container:镜像的运行实例。
  • Registry:镜像存储与分发服务(公有/私有)。

1.3 Docker 安装(以 CentOS 为例)

系统要求:

内核版本高于 3.10

uname-r
安装步骤:
  1. 更新 yum 包:
yum update -y
  1. 卸载旧版本:
sudoyum remove -y docker*
  1. 安装依赖:
yuminstall-y yum-utils
  1. 设置阿里云镜像源:
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum makecache fast
  1. 查看可安装版本:
yum list docker-ce --showduplicates|sort-r
  1. 安装指定版本:
yuminstall-y docker-ce-3:24.0.2-1.el7.x86_64
  1. 启动并设置开机自启:
systemctl startdocker&&systemctlenabledocker
  1. 验证安装:
dockerversion
配置镜像加速器(阿里云):
  1. 创建或编辑配置文件:
sudotee/etc/docker/daemon.json<<-'EOF' { "registry-mirrors": ["https://jbw52uwf.mirror.aliyuncs.com"] } EOF
  1. 重启 Docker:
sudosystemctl daemon-reloadsudosystemctl restartdocker

1.4 Docker 使用

镜像相关命令:
  1. 搜索镜像
dockersearch java
  1. 下载镜像
dockerpull java:8dockerpull nginx
  1. 列出镜像
dockerimages
  1. 删除镜像
dockerrmi javadockerrmi$(dockerimages -q)# 删除所有
容器相关命令:
  1. 新建并启动容器
dockerrun -d -p91:80 nginx
  1. 列出容器
dockerpsdockerps-a# 包括已停止的
  1. 停止容器
dockerstop<容器ID>
  1. 强制停止容器
dockerkill<容器ID>
  1. 启动已停止的容器
dockerstart<容器ID>
  1. 查看容器信息
dockerinspect<容器ID>
  1. 查看日志
dockerlogs<容器ID>
  1. 进入容器
dockerexec-it<容器ID>/bin/bash
  1. 容器内安装工具
apt-getupdateapt-getinstallvimiputils-ping net-tools
  1. 删除容器
dockerrm<容器ID>dockerrm-f$(dockerps-a -q)# 强制删除所有

2. 使用 Dockerfile 构建 Docker 镜像

2.1 Dockerfile 常用指令

指令用途说明
FROM基础镜像
RUN构建阶段执行命令
ADD添加文件(支持URL和压缩包)
COPY拷贝文件
CMD容器启动后执行的命令
EXPOSE声明服务端口
WORKDIR设置工作目录
ENV设置环境变量
ENTRYPOINT容器入口命令
USER设置运行用户
VOLUME声明持久化目录

2.2 构建微服务镜像示例(Spring Boot Jar)

Dockerfile 内容:

FROM java:8 ADD tulingmall-member-0.0.5.jar /tulingmall-member-0.0.5.jar EXPOSE 8877 ENTRYPOINT java ${JAVA_OPTS} -jar /tulingmall-member-0.0.5.jar

构建镜像:

dockerbuild -t tulingmall-member:0.0.5.

运行容器:

dockerrun -d -p8877:8877\-eSPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR=192.168.65.174:8848\-eJAVA_OPTS='-Xmx1g -Xms1g -XX:MaxMetaspaceSize=512m'\--cap-add=SYS_PTRACE\tulingmall-member:0.0.5

3. 将微服务镜像发布到阿里云镜像仓库

  1. 登录阿里云 Docker Registry
dockerlogin --username=fox666 registry.cn-hangzhou.aliyuncs.com
  1. 标记镜像
dockertag tulingmall-member:0.0.5 registry.cn-hangzhou.aliyuncs.com/fox666/tulingmall-member:0.0.5
  1. 推送镜像
dockerpush registry.cn-hangzhou.aliyuncs.com/fox666/tulingmall-member:0.0.5

4. 搭建私有 Docker 镜像仓库

4.1 使用 Docker Compose 部署私有仓库

docker-compose.yml

version:'3'services:registry:container_name:docker-registryimage:registry:2ports:-5000:5000volumes:-/data/docker-registry:/var/lib/registry

启动:

dockercompose up -d

4.2 配置 Docker Daemon 支持私有仓库

编辑/etc/docker/daemon.json

{"registry-mirrors":["https://jbw52uwf.mirror.aliyuncs.com"],"insecure-registries":["192.168.65.78:5000"]}

重启 Docker:

systemctl daemon-reload&&systemctl restartdocker

4.3 推送镜像到私有仓库

  1. 构建并标记镜像
dockerbuild -t192.168.65.78:5000/tulingmall-member:latest.
  1. 登录私有仓库
dockerlogin192.168.65.78:5000
  1. 推送镜像
dockerpush192.168.65.78:5000/tulingmall-member:latest
  1. 验证
curl-X GET http://192.168.65.78:5000/v2/_catalog

文档整理自《Docker详解与部署微服务实战.pdf》,内容涵盖Docker基础、镜像构建、容器管理、私有仓库搭建等实战内容。

如果有需要修改或者补充的地方,可以随时告诉我。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/14 17:28:56

咱们今天聊点硬核的——用VB.NET直接操控三菱变频器。这玩意儿在工厂自动化里可是刚需,特别是需要精准控制电机转速的场景。废话不多说,直接上干货

上位机控制三菱变频器 DEMO &#xff08;VB.NET&#xff09;&#xff0c; &#xff08;可编辑上位机与三菱PLC&#xff0c;西门子PLC通讯&#xff0c; 数据采集&#xff0c;&#xff09;源码带详细注释。 本程序有详细步骤和超详细的中文注释&#xff0c;可以控制多台变频器&…

作者头像 李华
网站建设 2026/4/11 19:13:39

Flutter for OpenHarmony 实战:IconButton 图标按钮详解

Flutter for OpenHarmony 实战&#xff1a;IconButton 图标按钮详解 摘要 IconButton是Flutter框架中用于创建带有图标的交互式按钮的核心组件&#xff0c;广泛应用于导航栏、工具栏和操作菜单等场景。在OpenHarmony平台上&#xff0c;通过Flutter的跨平台能力&#xff0c;开…

作者头像 李华
网站建设 2026/4/5 20:15:32

_基于springboot的智能家居系统(11675)

有需要的同学&#xff0c;源代码和配套文档领取&#xff0c;加文章最下方的名片哦 一、项目演示 项目演示视频 二、资料介绍 完整源代码&#xff08;前后端源代码SQL脚本&#xff09;配套文档&#xff08;LWPPT开题报告&#xff09;远程调试控屏包运行 三、技术介绍 Java…

作者头像 李华
网站建设 2026/4/13 14:31:54

【完全免费】小丸工具箱超详细的视频体积压缩教程,从1G视频压缩到100M,几乎不损画质,完全免费,而且可以批量处理视频文件

——软件使用教程—— 小丸工具箱超详细的视频体积压缩教程&#xff0c;从1G视频压缩到100M——下载地址&#xff08;防止被拦截&#xff0c;请用浏览器打开&#xff09;—— 夸克地址&#xff1a; https://pan.dxlszyk.com/s/1jeou2e1k 多盘地址&#xff1a; https://www.…

作者头像 李华
网站建设 2026/4/4 21:57:16

【完全免费】黑白照片变彩色照片,一键处理百张黑白老照片,AI上色效果比手工精细10倍,效果太惊艳了,老照片AI修复上色全流程演示,支持离线使用!

——软件使用教程—— 黑白照片变彩色照片&#xff0c;一键处理百张黑白老照片&#xff0c;支持离线使用&#xff01;——下载地址&#xff08;防止被拦截&#xff0c;请用浏览器打开&#xff09;—— 夸克地址&#xff1a; https://pan.dxlszyk.com/s/1jemfj9sk 多盘地址&a…

作者头像 李华