如何使用docker发布项目
本文将从docker的简单介绍,以及如何在docker上运行一个前端项目,讲到我曾经接触过的如何利用docker实现前端的自动化部署。
我对docker的了解也不深,只是基于自己的一丁点经验做一个前端发布的流程整理,同时帮助其他小白同学入门,如有错误,欢迎指正。
什么是docker
Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。
背景知识
详细版传送门:Docker 入门教程-阮一峰
简化版:
大家都是开发者,知道配置环境的麻烦和难处,操作系统的设置、各种库和组件的安装,以及各个版本之间的兼容问题。
虚拟机是一种解决方案,但存在资源占用多、冗余步骤多、启动慢等缺点。
于是发展出来另一种虚拟化技术:Linux容器(Linux Containers,LXC)。LXC不模拟完整的操作系统,而是对进程进行隔离。由于容器是进程级别的,相比虚拟机启动快、资源占用少、体积小。
镜像和容器
Docker 将应用程序与该程序的依赖,打包在一个文件里面,这个文件称为一个image镜像,运行镜像文件,会生成一个container容器实例。我们的程序,就在这个容器实例中运行。
docker的一些基础命令
docker的安装这里就不讲了,大家自己去网上搜。
docker hub是docker的镜像仓库,我们可以在docker hub上搜索我们想要的镜像,比如nginx:
-
通过
docker pull nginx
命令,默认拉取最新版本的nginx镜像。在Tags列表中,我们也可以看到历史各个版本的镜像,通过:
+对应版本的tagName
获取指定版本的镜像。 -
docker run
命令用于运行镜像,生成一个容器实例。 -
通过
docker ps -a
可以查看所有容器及其运行状态。 -
docker start containName
运行容器。 -
docker restart containName
重启容器。 -
docker stop containName
停止运行容器。 -
docker logs
查看容器输出日志。 -
docker rm
删除指定容器。 -
docker rmi
删除指定镜像。
什么是Dockerfile
A
Dockerfile
is a text document that contains all the commands a user could call on the command line to assemble an image.
Dockerfile是一个文本文件,包含了配置一个image镜像所有可以调用的命令。
这话其实有点歧义,实际上,并不是说它真的包含每一个命令,而是说当我们想要生成一个image镜像时,Docke