docker+ bind mount 部署复杂flask应用
2024-08-24 01:46:09
报错如下:
[root@test-wenqiang flask-skeleton]# docker run -d -p 80:5000 -v $(pwd):/skeleton --name flask zhaiwenqiang/flask-skeleton
9b705abd5e280723b8d271394769163224e3fcc052e7313637f42c5fec703e19
/usr/bin/docker-current: Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "exec: "scripts/dev.sh": permission denied".
原因:
- 没有dev.sh的权限
解决方式:
需要在构建镜像的时候给文件添加权限(当然也可以构建好镜像然后修改镜像中的文件的权限,但这样做不优雅,作为用户来说只负责使用,并不负责修改镜像)
只贴出关键的两个步骤
1. Dockerfile
# Dockerfile中的注释跟python的单行注释一致
FROM python:2.7
LABEL maintainer="Peng Xiao<xiaoquwl@gmail.com>"
# 拷贝当前路径下的所有文件到镜像中的根路径下的/skeleton中
COPY . /skeleton
# 指定image的工作路径,类似于cd到某文件夹中, 但是docker不建议使用cd
WORKDIR /skeleton
# 改变某个文件的执行权限,注意这里还要从根路径开始写(也就是绝对路径)
RUN chmod 777 /skeleton/scripts/dev.sh
RUN pip install -r requirements.txt
EXPOSE 5000
# entrypoint 跟 cmd还是有区别的,要不然发明俩干啥
# entrypoint 有两种语法一种是sh命令 一种是下面的方式
ENTRYPOINT ["scripts/dev.sh"]
2. 运行容器命令
docker run -d -p 80:5000 -v $(pwd):/skeleton --name flask zhaiwenqiang/flask-pro
-v $(pwd):/skeleton 关联当前文件夹与容器中的/skeleton文件夹
可以做到本地文件与容器中的文件关联,当修改了本地的文件,容器中的文件会修改,反之亦然,容器中的服务会实时监控到这个变化
最新文章
- 浅谈C++之冒泡排序、希尔排序、快速排序、插入排序、堆排序、基数排序性能对比分析之后续补充说明(有图有真相)
- 解决ScrollView 嵌套 GridView 单行显示问题
- jquery_layout
- bat批量删.svn
- [物理学与PDEs]书中一些对数学研究有用的引理
- HDU 5433 Xiao Ming climbing
- JS-Array数组内置对象
- centos7上使用yum安装mysql
- Android实现摇晃手机的监听
- 强化一下,QDialog有专门的exec函数和finished信号,QWidget都没有
- QT 静态编译后中文可能会出现乱码
- linux 中 ping的回传值
- [HNOI2014]江南乐
- oracle12C安装步骤
- replicate_wild_do_table和replicate-wild-ignore-table的使用【转】
- IDEA多个服务打断点 各服务乱窜的问题
- BZOJ2150 部落战争 【带上下界最小流】
- java之定时器任务Timer用法
- gluster 卷的类型及创建方法
- (转) Dissecting Reinforcement Learning-Part.2
热门文章
- PCL —— RCNN Family 中层次点云处理
- EZOJ #77
- Luogu 3172 [CQOI2015]选数
- rest-framework组件 之 解析器
- opencv中读写视频
- Entity Framework Tutorial Basics(36):Eager Loading
- Entity Framework Tutorial Basics(7):DBContext
- Entity Framework Tutorial Basics(4):Setup Entity Framework Environment
- Struts2返回JSON数据的具体应用范例
- CodeForces 173B Chamber of Secrets (二分图+BFS)