这一篇我将带大家如何使用 Docker 部署项目到线上。Docker 可理解为跑在宿主机上的非常精简、小巧、高度浓缩的虚拟机。 它可以将容器里的进程安稳的在宿主机上运行。
# 开始前的准备
docker 与 docker-compose 的安装我就不给大家介绍了。作为一位开发人员,我认为这点事情难不倒大家。
# 创建需要的文件
我们需要在项目根目录创建我们所需要的文件
$ touch Dockerfile
$ touch docker-compose.yml
$ setup.sh
@前端进阶之旅: 代码已经复制到剪贴板
# 目录结构
egg-project
├── package.json
├── setup.sh (新建)
├── Dockerfile (新建)
├── docker-compose.yml (新建)
├── app
...
@前端进阶之旅: 代码已经复制到剪贴板
# 常用指令
在开始之前我们要学习下常用的一些指令,看下方:

# 部署流程
这是一个项目的部署流程,这篇文章带大家做一个简单的部署。后面大家可以参照这张流程图来做一些完善。

# 安装 Jenkins
既然我们项目部署打算使用 Docker,那么在安装 Jenkins 我们也一样选择使用 Docker三剑客之一的 docker-compose。docker-compose 是一个用来把 docker 自动化的东西,有了 docker-compose 你可以把所有繁复的 docker 操作全都一条命令,自动化的完成。
# 创建目录
首先我们需要在服务器上创建一个目录机构 :
/home/jenkins
- docker-compose.yml
- jenkins-home
@前端进阶之旅: 代码已经复制到剪贴板
编写docker-compose.yml
接下来我们来编写 docker-compose.yml 安装 Jenkins:
version: '3' # 指定 docker-compose.yml 文件的写法格式
services: # 多个容器集合
docker_jenkins:
user: root # 为了避免一些权限问题 在这我使用了root
restart: always # 重启方式
image: jenkins/jenkins:lts # 指定服务所使用的镜像 在这里我选择了 LTS (长期支持)
container_name: jenkins # 容器名称
ports: # 对外暴露的端口定义
- '8080:8080'
- '50000:50000'
volumes: # 卷挂载路径
- /home/jenkins/jenkins_home/:/var/jenkins_home # 这是我们一开始创建的目录挂载到容器内的jenkins_home目录
- /var/run/docker.sock:/var/run/docker.sock
- /usr/bin/docker:/usr/bin/docker # 这是为了我们可以在容器内使用docker命令
- /usr/local/bin/docker-compose:/usr/local/bin/docker-compose # 同样的这是为了使用docker-compose命令
@前端
