Docker 及相关概念
Docker和虚拟机方式的区别:虚拟机技术是虚拟出一套硬件后,在其上运行一个完整的操作系统,在该系统上在运行所需应用进程;而容器内的应用进程是直接运行于宿主的内核,容器内没有自己的内核,uefa没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。
Docker镜像
一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、 环境变量、 用户等) 。镜像不包含任何动态数据,其内容在构建之后也不会被改变。
Docker容器
镜像是静态的文件,容器是镜像运行是的实体,容器可以被创建、启动、停止、删除、暂停等。容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的命名空间。
Docker Registry
集中的存储、分发镜像的服务,一个 Docker Registry 中可以包含多个仓库( Repository);每个仓库可以包含多个标签( Tag);每个标签对应一个镜像。我们可以通过 <仓库名>:<标签> 的格式来指定具体是这个软件哪个版本的镜像。以 Ubuntu 镜像 为例, ubuntu 是仓库的名字,其内包含有不同的版本标签,如,14.04,16.04 。 我们可以通过 ubuntu:14.04 ,或者 ubuntu:16.04 来具体指定所需哪个版本的镜像。 常使用的 Registry 公开服务是官方的 Docker Hub, 这也是默认的 Registry。
Docker 划分为CE和EE。CE即社区版( 免费,支持周期三个月),EE即企业版,强调安全,付费使用。
ubuntu 安装 Docker
卸载旧版本docker
bash
sudo apt-get remove docker docker-engine docker.io
更新软件包列表:
bash
apt-get update
接下来,安装一些必备软件包,让 apt 通过 HTTPS 使用软件包
bash
apt install apt-transport-https ca-certificates curl software-properties-common
然后将官方 Docker 版本库的 GPG 密钥添加到系统中
bash
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
将 Docker 版本库添加到APT源,即向source.list文件中添加Docker软件源。
bash
sudo add-apt-repository "deb [arch=amd64] Index of linux/ubuntu/ focal stable"
接下来,我们用新添加的 Docker 软件包来进行升级更新
bash
apt update
确保要从 Docker 版本库,而不是默认的 Ubuntu 版本库进行安装
bash
apt-cache policy docker-ce
最后,安装 Docker
bash
apt install docker-ce
启动docker服务
bash
service docker start
如无法访问外网,也可使用国内源, 4 、 5 步命令如下 :
bash
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] Index of /docker-ce/linux/ubuntu/ $(lsb_release -cs) stable"
阿里云镜像加速器
修改daemon配置文件/etc/docker/daemon.json来使用加速器
bash
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://htqwhg38.mirror.aliyuncs.com"]
}
EOF
重启Docker
bash
sudo systemctl daemon-reload
sudo systemctl restart docker