开篇的话:
Docker的主要目标是"Build, Ship and Run Any App,Anywhere",也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应用等等)及其运行环境能够做到“一次封装,到处运行”。用搬家来举例,用Docker来搬家时,Docker不光将我们所有的物品搬走,而且,还将我们所住的大楼都搬迁到另外的地方。Docker实现了对应用组件所需的一切跨平台的移植,省去了中间安装软件,配置环境变量的工作。关于Docker更详细的内容,读者可以去官网查阅。
Docker官网地址:https://docs.docker.com/
章节目录:
本系列文章是作者最近使用Docker技术的工作总结。主要包括以下内容:
1)Docker在Linux下的部署
2)拉取第一个Docker镜像—Hello World!
3)从零构建X86_X64架构下的Linux基础镜像
4)跨平台构建基础镜像—arm64v8架构
一、Docker在Linux下的部署
作者使用的操作系统如下:
在开始本片文章之前,使用apt-get install 安装的Docker套件版本为:
为了实现之后的跨平台部署,现将当前的Docker及其组件全部卸载,并安装最新版本的Docker。
执行命令:
sudo apt-get remove docker docker-engine docker.io containerd runc
设置仓库
1)更新软件包
sudo apt-get update
2)安装软件包,以允许通过HTTPS使用存储库
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
3)添加Docker的官方GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
验证是否已经拥有密钥:
sudo apt-key fingerprint 0EBFCD88
4)设置稳定的存储库
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
这里读者可以根据自己的平台去指定arch的参数。
5)更新软件包并安装Docker套件
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
至此,Docker及其组件基本安装完成,如果需要指定的Docker Engine - Community版本,读者可以使用命令
apt-cache madison docker-ce
从终端所列出的版本下载。
输入命令
sudo docker version
终端打印Docker的版本信息,如下
OK,Docker已经更新到最新版本。
参考:https://docs.docker.com/install/linux/docker-ce/ubuntu/
二、拉取第一个Docker镜像—Hello World!
在终端输入命令:
sudo docker run hello-world
由于本地并没有该镜像,所以将从Docker Hub中拉取,终端显示如下:
输入命令:
sudo docker images
终端将显示所拉取的镜像,
同样,开发者可以从Docker Hub中找到指定的镜像去拉取,如
显然,从Docker Hub中搜索镜像可以自己指定平台。
使用sudo docker images 查看所拉取的镜像。通过命令:
sudo docker save hello-world:latest -o helloworld.tar
将拉取的镜像保存到本地。
使用命令
sudo docker load -i helloworld.tar
可以将镜像导入。
总结:
本文主要讲解了Docker的部署、helloworld镜像的拉取过程以及基本的Docker命令;至于Docker更多命令,读者可以在官网或终端输入man docker查看,随着系列文章的深入,读者可以看到更多的Docker命令及其用法以及Dockerfile编写;本系列文章还会涉及到golang语言的跨平台编译,containerd在arm64v8架构的部署等。感谢观看!
————————————————————————————————————————————————————————
作者的话:
首先谢谢各位读者的观看,小弟第一次写帖子,或许有许多不足之处,请各位读者受累指正。愿各位读者一切都好。