若有疑问参考前面几篇
Docker
文章,循序渐进
不懂算我输,话不多说,实战为主!
作者:变优秀的小白
Github:关注YX-XiaoBai
爱好:Americano More Ice !
QQ学习交流群(new): 811792998
目录
使用bind mounts
- nodemon
- 一款很好的监视文件改动和启动应用的工具
对比两种volume类型
Named Volumes | Bind Mounts | |
---|---|---|
主机位置 | Docker选择 | 自主选择 |
安装例子(-v ) | my-volume:/usr/local/data | /path/to/data:/user/local/data |
使用容器内容填充新volume | Yes | No |
支持Volume 驱动 | Yes | No |
启动一个dev模式容器
为了我们的容器支持发展工作流,我们将会做这几件事
- 安装我们的源码进容器
- 下载所有依赖,包括
dev
的依赖 - 启动
nodemon
去监视文件系统的改动
话不多说,实战为主!
-
确保你没有运行以前
getting-started
的容器 -
运行下面的命令
docker run -dp 3000:3000 \
-w /app -v "$(pwd):/app" \
node:12-alpine \
sh -c "yarn install && yarn run dev"
分析下所有的flag
-dp 3000:3000
:d
在后台运行隔离模式和p
创建一个端口映射-w /app
: 设置工作目录
或者说是命令运行的目录-v "$(pwd):/app"
: 将当前目录从容器绑定到/app
目录node:12-apline
: 使用的镜像。这个Dockerfile
中我们应用的基本镜像sh -c "yarn install && yarn run dev
: 我们使用sh
启动一个shell
终端(alpine
没有bash
),接着运行命令yarn install
下载所有依赖,然后yarn run dev
运行应用。如果我们看package.json
会发现dev
脚本正在启动nodemon
- 通过
docker logs -f <container-id>
查看日志
- 修改文件
src/static/js/app.js
,然后保存
容器会自动重启,刷新页面http://localhost:3000
即可看到效果
- 完成后,停止容器并使用
docker build -t getting-started .
构建一个新镜像
结束语:不懂算我输,当然~如果遇到什么疑问或者建议的,可直接留言评论!作者看到会马上一一回复!