由于 docker 中的 .sh 文件权限被拒绝,travis 测试失败
travis tests fail due to permission denied on .sh file in docker
我正在尝试让 travis 与我的容器化烧瓶应用程序一起工作。在本地构建和提交一切正常我在这个命令上失败了:
docker-compose -f docker-compose-dev.yml up --build -d
这是我从 travis 那里得到的错误:
Successfully built e5cc5b91a3ee
Successfully tagged testdriven-app_nginx:latest
Creating testdriven-app_users-db_1 ...
ERROR: for testdriven-app_users_1 Cannot start service users: oci runtime error: container_linux.go:265: starting container process caused "exec: \"/usr/src/app/entrypoint.sh\": permission denied"
ERROR: for users Cannot start service users: oci runtime error: container_linux.go:265: starting container process caused "exec: \"/usr/src/app/entrypoint.sh\": permission denied"
ERROR: Encountered errors while bringing up the project.
The command "sudo docker-compose -f docker-compose-dev.yml up --build -d" failed and exited with 1 during .
这是我的 travis yml 文件,我知道我在之前的脚本部分失败了:
sudo: required
services:
- docker
env:
DOCKER_COMPOSE_VERSION: 1.21.1
before_install:
- sudo rm /usr/local/bin/docker-compose
- curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose
- chmod +x docker-compose
- sudo mv docker-compose /usr/local/bin
before_script:
- docker-compose -f docker-compose-dev.yml up --build -d
script:
- docker-compose -f docker-compose-dev.yml run users python manage.py test
- docker-compose -f docker-compose-dev.yml run users python flake8 project
after_script:
- docker-compose -f docker-compose-dev.yml down
我在 docker compose 上给自己设置了 chmod,根据我的理解,这应该授予我对该文件的权限。
如有任何帮助,我们将不胜感激!
我从
更改了 dockerprofile
CMD["/usr/src/app/entrypoint.sh"]
到
RUN ["chmod","+x","/usr/src/app/entrypoint.sh"]
解决了问题
我正在尝试让 travis 与我的容器化烧瓶应用程序一起工作。在本地构建和提交一切正常我在这个命令上失败了:
docker-compose -f docker-compose-dev.yml up --build -d
这是我从 travis 那里得到的错误:
Successfully built e5cc5b91a3ee
Successfully tagged testdriven-app_nginx:latest
Creating testdriven-app_users-db_1 ...
ERROR: for testdriven-app_users_1 Cannot start service users: oci runtime error: container_linux.go:265: starting container process caused "exec: \"/usr/src/app/entrypoint.sh\": permission denied"
ERROR: for users Cannot start service users: oci runtime error: container_linux.go:265: starting container process caused "exec: \"/usr/src/app/entrypoint.sh\": permission denied"
ERROR: Encountered errors while bringing up the project.
The command "sudo docker-compose -f docker-compose-dev.yml up --build -d" failed and exited with 1 during .
这是我的 travis yml 文件,我知道我在之前的脚本部分失败了:
sudo: required
services:
- docker
env:
DOCKER_COMPOSE_VERSION: 1.21.1
before_install:
- sudo rm /usr/local/bin/docker-compose
- curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose
- chmod +x docker-compose
- sudo mv docker-compose /usr/local/bin
before_script:
- docker-compose -f docker-compose-dev.yml up --build -d
script:
- docker-compose -f docker-compose-dev.yml run users python manage.py test
- docker-compose -f docker-compose-dev.yml run users python flake8 project
after_script:
- docker-compose -f docker-compose-dev.yml down
我在 docker compose 上给自己设置了 chmod,根据我的理解,这应该授予我对该文件的权限。
如有任何帮助,我们将不胜感激!
我从
更改了 dockerprofileCMD["/usr/src/app/entrypoint.sh"]
到
RUN ["chmod","+x","/usr/src/app/entrypoint.sh"]
解决了问题