目标:记录一下学习docker部署简略我的项目的思路
思路:
- 应用docker pull拉取相应的镜像源
- 创立Dockerfile文件,编写配置文件
- docker build 运行Dockerfile文件,应用其配置创立新的镜像
- docker run 创立容器并运行
此处借用一下官网的逻辑图
环境配置
环境:CentOS 7
// 应用yum装置docker 此处因应用的集体服务器,是最高权限sudo yum install docker
应用docker -v或者docker能够检测是否装置胜利
ps: 对于环境的相干配置,能够自行百度或者google,有大量教程,个别装置失败,都是因为权限的问题(我所遇到的)
正式部署
创立一个简略的文件,次要目录如下
`-- your-app-name/ |-- src/ `-- app.js // 轻易写一些什么 `-- Dockerfile (we will create this in the following steps)
咱们次要关注点是对Dockerfile文件的配置
# 拉取node镜像源,如果本地没有,会主动从docker hub进行拉取FROM node:latest# 执行命令,创立文件夹 此处门路其实不必进行创立# 在下一步的copy时,如果没有此文件,会主动在门路下创立文件RUN mkdir -p /home/nodeDemojs# 复制文件 复制src下的文件到 /home/nodeDemojsCOPY ./src /home/nodeDemojs# 容器启动时执行的命令,相似npm run startCMD ["node", "/home/nodeDemojs/app.js"]
执行文件
执行docker build
docker build -t 镜像名 .// 镜像名后能够跟版本号,格局如 镜像名:v1.0// 最初的 . 要特地留神,不能呢个省略,这个作用是绑定咱们所执行的上线文
- 执行docker images, 查看咱们所有的镜像
执行docker run
应用此指令,能够创立一个容器并运行
docker run -d -p 3000:3000 docker-demo:v1.0
- -d:示意后盾运行
- -p:示意指定端口映射,(3000:3000)示意(本机端口:容器端口),3000是笔者的nestjs代码中监听的拜访端口,也是容器对外裸露的端口
- 镜像名前面的:v1.0:示意打的tag号
一些罕用的指令
查看镜像
docker images
删除镜像
docker rmi 镜像ID
查看运行的容器
docker ps
进行容器
docker stop 容器ID
检测docker启动状态
sudo systemctl status docker.service
启动docker
sudo systemctl start docker.service// 执行完上述指令后,再次查看docker以后的状态,执行sudo systemctl status docker.service~~~~
重启docker
sudo systemctl restart docker.service