Docker镜像构建文件Dockerfile及相关命令介绍
使用docker build
命令或使用Docker Hub的自动构建功能构建Docker镜像时,都需要一个Dockerfile
文件。Dockerfile
文件是一个由一系列构建指令组成的文本文件,docker build
命令会根据这些构建指令完成Docker镜像的构建。本文将会介绍Dockerfile
文件,及其中使用的构建指令。
使用docker build
命令或使用Docker Hub的自动构建功能构建Docker镜像时,都需要一个Dockerfile
文件。Dockerfile
文件是一个由一系列构建指令组成的文本文件,docker build
命令会根据这些构建指令完成Docker镜像的构建。本文将会介绍Dockerfile
文件,及其中使用的构建指令。
Docker 镜像(Image
)是一种分层结构的文件系统,基于 Docker Hub 中已构建好的镜像后,我们可以快速构建自己的镜像。还可以将自己构建的镜像免费推送到Docker Hub的用户仓库进行管理,然后就可以基于这些镜像创建容器。
镜像(Image)是构建容器的基础,镜像是一种分层结构的文件系统。我们可以从仓库(Repository)中下载镜像,而仓库又保存在Registry
中,Docker Hub是Docker官方提供的Registry
。即可以从Docker Hub
的顶层仓库中免费获取官方提供的基于镜像,又可以将自已构建的镜像存放于Docker Hub的用户仓库中。
HTTP/2
只能在HTTPS
环境下使用、苹果开始限制HTTP
版本的API,种种迹象表明升级HTTPS
将是一种趋势,HTTPS
也是提升网站可信度、增加信息传输安全的重要手段。本文将对站点HTTPS
流程及网站升级的一些注意事项,做一些简单整理介绍。
HTTPS
(Hyper Text Transfer Protocol over Secure Socket Layer),即:安全套接字层上的HTTP协议,简单的说就是安全的HTTP协议。相比HTTP
来说,HTTPS
使用TLS/SSL
对传输层数据进行加密,并使用CA
证书对站点身份进行认证,所以其相对更安全。
容器
(Container)是Docker
的核心组件之一,它是用于运行镜像
的一个沙箱环境,是一个从镜像
创建的应用运行实例,镜像
打包、构建完成后最终都会运行于容器
中。容器
具有良好的隔离性,容器
之间是相互隔离、互不可见。本文将介绍Docker
容器的创建与管理,并以容器的生命周期为主线介绍容器的创建、管理、停止,到最终删除。
Docker
的安装非常的简单和快捷,当前Docker已支持大多数Linux发行版,包括:Ubuntu
、Red Hat
、CentOS
、SUSE
、Fedora
、Debian
等,也可以在AWS、Aliyun等云平台安装。Docker
基于LXC
实现容器相关功能,要在Mac OS X
或Windows
中运行Docker
就需要借助Docker Toolbox
等工具模拟一个Docker
虚拟环境。
人们为了提高系统及硬件资源的利用率而引入了虚拟化技术。虚拟化是一种资源管理技术,它可以各种实体资源抽像后再分隔,从而打破实体结构的限制,最大程度的提高资源的利用率。从实现形式来分,虚拟化技术分为硬件虚拟化技术和软件虚拟化技术。而Docker
属于软件虚拟化技术中的操作系统层虚拟化技术,它是基于LXC
实现的一个应用容器引擎,Docker
让开发者可以打包他们的应用及依赖环境到一个可移植的容器中,然后可以将这个容器快速部署开发、测试或生产环境中。
VirtualBox
是一款开源的虚拟机软件,它遵循GNU许可,现属于Orcle公司旗下产品。VirtualBox
号称是最强的免费虚拟机软件,笔者用其虚拟了Ubuntu、CentOS两个Linux系统,是否最强大不得而知,但是的确免费。由于要在本机及两个虚拟机之间进行切换,操作比较麻烦,还不支持命令粘贴,所以想配置一下,能够在本机的终端连接两台虚拟机。
在虚拟机上安装CentOS、Ubuntu版本的Linux系统后,默认启动的都是图形化界面。CentOS系统默认的启动级别是5
,也就是图形化模式
;而Ubuntu系统的2〜5
级别都相同,都是图形化模式
。远程管理服务器时长期工作在命名窗口模式下,乍一看这图形界面还真有点不习惯。因此,需要把启动级别修改为命令行启动模式,顺便整理Linux 启动级别相关知识。