docker简介及安装
Docker 入门教程
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docker 可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在本地编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
优势分析
Docker 是一个用于开发,交付和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助 Docker,可以与管理应用程序相同的方式来管理基础架构。通过利用 Docker 的方法来快速交付,测试和部署代码,可以大大减少编写代码和在生产环境中运行代码之间的延迟。
与虚拟机比较
- 使用内核虚拟化技术速度更快
- 系统资源占用少,一台主机上可以同时运行数千个 Docker 容器。
- 起动速度秒级,而虚拟机分钟级
- 硬盘占用更少,虚拟机是完整系统占用往往达到G级
Docker的思想
- 集装箱: a. 会将所有需要的内容放到不同的集装箱中,谁需要这些环境就直接拿到这个集装箱就可以了
- 标准化: a. 运输的标准化:Docker有一个码头,所有上传的集装箱都放在了这个码头上,当谁需要某一个环境,就直接指派大海豚去搬运这个集装箱就可以了。 b. 命令的标准化:Docker提供了一系列的命令,帮助我们去获取集装箱等等操作。 c. 提供了REST的API:衍生出了很多图形化界面,Rancher。
- 隔离性: a. Docker在运行集装箱内的内容时,会在LInux的内核中,单独的开辟一片空间,这片空间不会影响到其他程序。
- 镜像:就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统
- 容器:容器是从镜像创建的运行对象,也是我们最终应用的场所。可以启动/删除/停止,容器间都是相互独立的,类似面向对象编程中的对象
- 仓库:类型于管理镜像的GITHUB,可以将镜像提交到仓库,供其他用户或其他平台轻松使用
Docker的安装
Docker支持很多种操作系统,例如:Ubuntu,CentOS,Windows;这里就简单的为大家讲解下Ubuntu
下的安装和使用
为了安装方便,这里建议大家使用root账户
-
更新apt包索引
sudo apt-get update
-
允许apt通过HTTPS安装
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common
-
安装Docker的官方GPG证书
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
-
写入软件源信息
sudo add-apt-repository \ "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \ $(lsb_release -cs) \ stable"
-
更新apt包索引。
sudo apt-get update
-
安装最新版本的Docker CE和containerd
sudo apt-get install docker-ce docker-ce-cli containerd.io
-
通过运行hello-world 映像验证是否正确安装了Docker CE
sudo docker run hello-world
进程维护
-
停止、启动、重启docker
sudo systemctl start | stop | restart docker.service
-
查看docker版本
sudo docker version
-
设置开机自启
sudo systemctl enable docker
-
开机启动检测
sudo systemctl list-unit-files | grep docker
镜像加速
提升国内用户访问 Docker Hub 拉取镜像的速度及稳定性。
LINUX
-
修改配置文件
sudo vim /etc/docker/daemon.json
-
添加国内镜像
{ "registry-mirrors": [ "https://hub-mirror.c.163.com", "https://mirror.ccs.tencentyun.com", "https://docker.mirrors.ustc.edu.cn" ] }
-
更新镜像缓存
sudo systemctl daemon-reload sudo systemctl restart docker
Docker的中央仓库
- hub.docker.com Docker官方的中央仓库:这个仓库是镜像最全的,但是下载速度很慢
- c.163yun.com/hub#/home 国内的镜像网站:网易蜂巢、daoCloud...
- hub.daocloud.io (推荐使用)
- 在公司内部会采用私服的方式拉取镜像。(添加配置)
到这里,docker环境就算大功告成了,小伙伴们自己动手尝试下吧
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现