Docker-从零开始

开篇的话:

        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架构的部署等。感谢观看!

————————————————————————————————————————————————————————

作者的话:

首先谢谢各位读者的观看,小弟第一次写帖子,或许有许多不足之处,请各位读者受累指正。愿各位读者一切都好。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值