Docker 基础
持续更新…
何为Docker?
简单通俗地来说,Docker相当于箱子,箱子可以把物品封闭放置起来,使得箱子和箱子之间不会互相影响。这正如上图所示,一只鲸鱼的背面搭载着许多箱子,这里的箱子就相当于每一个独立的容器,而鲸鱼就是docker引擎。
官方一点地说法就是,Docker是一个开源的应用容器引擎,是基于 Go 语言实现的,并遵从 Apache2.0 协议开源。采用容器技术的隔离机制,Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
Docker的优势有哪些?
- 应用更快的交付和部署
- 更便捷的升级和扩缩容
- 更简单的系统运维
- 更充分高效的计算资源利用
为什么Docker比虚拟机性能更佳?
如下图,当我们新建一个容器时,docker不需要多余的抽象层,而且docker不需要像虚拟机(比如VMware和VirtualBox… )一样重新加载一个操作系统内核,是直接利用宿主机的操作系统(虚拟机采用 硬件级虚拟化技术,而Docker采用 操作系统级虚拟化技术… )
镜像是什么?
镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括源代码、运行时依赖的库、环境变量和配置文件等。
Docker镜像都是只读的,
Docker架构图
安装Docker(以Ubuntu为例)
进入官网,应首先卸载旧版本,然后再进行安装:
sudo apt-get update
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
添加 Docker 的官方 GPG 密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
使用以下指令设置稳定版仓库:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
更新apt包索引以及安装最新版本的 Docker Engine 和 containerd:
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
测试 Docker 是否安装成功,输入以下指令,打印出以下信息则安装成功:
docker version
sudo docker run hello-world
如下:
查看镜像文件:
sudo docker images
阿里云镜像源加速
首先登陆阿里云,进入阿里云控制台,选择容器服务项的容器镜像服务:
点击镜像加速器,选择Ubuntu,修改daemon配置文件内容并在终端依次执行即可:
Docker run的基本流程图