版本信息确认
需要区分 windows 是 amd64 还是 arm64
powershell 中执行:
> echo $env:PROCESSOR_ARCHITECTURE
AMD64
需要区分 windows 是 amd64 还是 arm64
powershell 中执行:
> echo $env:PROCESSOR_ARCHITECTURE
AMD64
以下为 Docker 最常用命令的分类整理表格,涵盖镜像管理、容器操作、网络与存储等核心场景:
命令 | 说明 | 常用参数示例 |
---|---|---|
docker pull : |
拉取镜像 | docker pull nginx:latest |
docker images |
查看本地镜像 | docker images -a (含中间层镜像) |
docker rmi |
删除镜像 | docker rmi -f $(docker images -q) (强制删除所有镜像) |
docker build -t . |
构建镜像 | docker build -t myapp:v1 -f Dockerfile.prod . |
docker push |
推送镜像到仓库 | docker push myuser/myapp:latest |
学习 Docker 是一个循序渐进的过程,从理解基础概念到实际应用再到生产环境部署。
以下是一个系统化的学习路径,帮助你从零开始掌握 Docker:
撰写日期:2025年7月19日
1.1 核心概念
Docker是一种轻量级容器化技术,通过共享宿主机操作系统内核实现高效虚拟化。
与传统虚拟机(VM)相比,其启动速度更快(约1秒 vs. 35秒)、资源消耗更低(内存占用减少50%以上),且提供一致的跨环境运行能力。
FROM
(基础镜像)、RUN
(执行命令)、COPY
(复制文件)等指令。关于 gitlab,以前学习过一次。
参见 gitlab 入门
# gitlab-ce为稳定版本,后面不填写版本则默认pull最新latest版本
$ docker pull gitlab/gitlab-ce
关于 nexus,以前学习过一次。
参见 Nexus 入门
$ docker search nexus
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
sonatype/nexus3 Sonatype Nexus Repository Manager 3 720
sonatype/nexus Sonatype Nexus 426 [OK]
关于 sonarQube,以前学习过一次。
参见 sonarQube 入门
安装sonarqube 使用mysql版本必须大于5.7,并且数据中心版本不支持mysql。
一旦所有SonarQube表都使用InnoDB引擎,首先要做的是使用innodb_buffer_pool_size参数为MySQL实例分配最大量的RAM,并为参数提供至少15Mb query_cache_size。
要构建的是使用Jekyll框架的自定义网站.会构建两个镜像.
一个镜像安装了Jekyll及其他用于构建Jekyll网站必要的软件包
一个镜像通过Apache来让Jekyll网站工作起来.
在启动容器时,通过创建一个新的Jekyll网站来实现自服务.
创建Jekyll基础镜像和Apache镜像
从Jekyll镜像创建一个容器,这个容器存放通过卷挂载的网站源码
从Apache镜像创建一个容器,这个容器利用包含编译后的网站的卷,并为其服务.
在网站需要更新时,清理并重复上面的步骤.
API这个词在维基百科里解释是这样的:应用程序接口(英语:application programming interface,缩写作 API),又称为应用编程接口,就是软件系统不同组成部分衔接的约定。
看完这个解释估计你还是有点懵逼,不过没关系,下面我们会用通俗的语言来介绍什么是API。
我们每个人都有手机,当手机没电了我们肯定会找固定的充电器和充电线来充电。苹果的用苹果,安卓的用安卓。但是你肯定不会用安卓的线去充苹果的手机,这道理很简单,因为你的苹果手机是Lightning 接口,安卓的是micro接口。你要想充电或者对你手机传输数据,那么必须买合适的充电线和数据线, 这是对于接口最简单易懂的认识。
容器 = cgroup + namespace + rootfs + 容器引擎