这是我参与「第五届青训营」伴学笔记创作活动的第 6 天
概述
以在win环境中,从 0 到 1 用 docker 搭建 go 容器为最终目的的系列文章。这篇主要介绍docker下载安装教程,和docker的一些基本概念。
docker简介
Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、 bare metal、OpenStack 集群和其他的基础应用平台。
Docker 在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等等,极大的简化了容器的创建和维护。使得 Docker 技术比虚拟机技术更为轻便、快捷
docker可以简单理解为一个轻量级的虚拟机,而且方便移植。这种特性就方便我们保证团队之间的开发环境一致,或者开发和上线环境一致,避免很多不必要的问题。
Docker通常用于如下场景:
- web应用的自动化打包和发布;
- 自动化测试和持续集成、发布;
- 在服务型环境中部署和调整数据库或其他的后台应用;
- 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。
docker 主要由三部分组成:镜像、容器、仓库
docker 镜像
Docker 镜像 是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像 不包含 任何动态数据,其内容在构建之后也不会被改变。
docker 容器
镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的 类 和 实例 一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的 命名空间。因此容器可以拥有自己的 root 文件系统、自己的网络配置、自己的进程空间,甚至自己的用户 ID 空间。容器内的进程是运行在一个隔离的环境里,使用起来,就好像是在一个独立于宿主的系统下操作一样。这种特性使得容器封装的应用比直接在宿主运行更加安全。也因为这种隔离的特性,很多人初学 Docker 时常常会混淆容器和虚拟机。
docker 仓库
镜像构建完成后,可以很容易的在当前宿主机上运行,但是,如果需要在其它服务器上使用这个镜像,我们就需要一个集中的存储、分发镜像的服务,Docker Registry 就是这样的服务。
一个 Docker Registry 中可以包含多个 仓库(Repository);每个仓库可以包含多个 标签(Tag);每个标签对应一个镜像。
通常,一个仓库会包含同一个软件不同版本的镜像,而标签就常用于对应该软件的各个版本。我们可以通过 <仓库名>:<标签> 的格式来指定具体是这个软件哪个版本的镜像。如果不给出标签,将以 latest 作为默认标签。
win 安装docker
1.下载 docker
Install on Windows | Docker Documentation
下面第二步选一个执行即可
- wsl2 是官方推荐的环境,但是镜像都会装在C盘上
- Hyper-v 可以在软件中设置镜像下载位置(win专业版才有)
2.1 准备wsl2
直接安装即可
2.2 开启 Hyper-V
3 安装docker
双击即可
成功演示:
如果 docker is starting 一直不消失的话
执行以下命令
cd C:\Program Files\Docker\Docker
DockerCli.exe -SwitchDaemon
4 设置
取消勾选才能控制镜像位置。
engine 配置
{
"features": {
"buildkit": true
},
"experimental": true,
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"http://mirror.baidubce.com",
"https://ccr.ccs.tencentyun.com"
]
}
参考
- 镜像 - Docker — 从入门到实践 (gitbook.io)
- Docker资源 - docker中文社区
- docker中文社区,docker帮助,docker手册,docker教程,docker安装手册 - docker中文社区
- Windows Docker 安装 | 菜鸟教程 (runoob.com)
- Quick Start Guide and sign in | Docker Documentation
- Docker for Windows 使用入门 - 腾讯云开发者社区-腾讯云 (tencent.com)
- Windows 下安装docker 并解决 docker is starting 问题_普通网友的博客-CSDN博客
- Docker Hub 镜像源 - 掘金 (juejin.cn)