I would like to resolve the docker permission denied error.
I'm an introductory programmer.I was thinking of using docker for my portfolio, so I have been learning from youtube videos for about two days.However, in the middle of it,
failed to solve:rpc error:code=Unknown desc=error from sender:open
/home/senseiy/Documents/rails_docker/src/db/mysql_data/#innodb_temp:permission denied
I got an error like this and it got stuck here.
I'm using wsl2 of Windows 11 environment.wsl2 uses ubuntu 20.04.
senseiy@senseIY:~/Documents/rails_docker $docker-compose run web rails new.--force --database=mysql
[+] Running 13/13
⠿ db Pulled 66.9s
⠿ 15115158dd02 Pull complete 7.3s
⠿ d733f6778b18 Pull complete 7.4s
⠿ 1cc7a6c74a04 Pull complete 7.8s
⠿ c4364028a805 Pull complete 8.0s
⠿ 82887163f0f6 Pull complete 8.1s
⠿ 097 bfae26e7a Pull complete 9.8s
⠿ e1b044d6a24f Pull complete 9.9s
⠿ cd2978bd4d12 Pull complete 10.0s
⠿ 28bce 5cc1677 Pull complete 19.8s
⠿ 907b6d695760 Pull complete 19.8s
⠿ c5049403458b Pull complete 19.9s
⠿ f360718d6f4e Pull complete 20.0s
[+] Running 2/2
⠿ Network rails_docker_default Created 0.8s
⠿ Container rails_docker-db-1 Created 0.5s
[+] Running 1/1
⠿ Container rails_docker-db-1 Started 1.6s
[+] Building 73.8s (6/9)
=>[internal] load build definition from Dockerfile 0.0s
=>=>transferring dockerfile: 396B 0.0s
=>[internal] load.dockerignore 0.0s
=>=>transferring context—2B 0.0s
=>[internal] load metadata for docker.io/library/ruby:2.7 73.2s
=>CACHED[1/5] FROM docker.io/library/ruby:2.7 @sha256:490f9343c654ce108a1bd34b4896e531135ffd47b9a25081948770ab90.0s
=>ERROR [internal] load build context 0.0s
=>=>transferring context—324B 0.0s
=>CANCELED [2/5] RUN curl-sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add-&echo"deb https:/0.5s
------
>[internal] load build context:
------
failed to solve:rpc error:code=Unknown desc=error from sender:open/home/senseiy/Documents/rails_docker/src/db/mysql_data/#innodb_temp:permission denied
#Dockerfile
FROM ruby: 2.7
RUN curl-sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add-\
&echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee/etc/apt/sources.list.d/yarn.list\
&apt-get update-qq\
&apt-get install-y nodejs yarn
WORKDIR/app
COPY./src/app
RUN bundle config --local set path 'vendor/bundle'\
& bundle install
source 'https://rubygems.org'
gem 'rails', '~>6.1.0'
version: '3'
services:
db:
image:mysql:8.0
command:--default-authentication-plugin=mysql_native_password
volumes:
- ./src/db/mysql_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD:password
web:
build:.
command: bundle exec rails -p 3000-b '0.0.0.0'
volumes:
- ./src:/app
ports:
- "3000:3000"
depend_on:
- db
·I checked for spelling errors, but there seemed to be no problem.
·https://teratail.com/questions/356474
Using this article as a reference, move the Dockerfile to ./build/web/Dockerfile and use the web: in docker-compose.yml
web:
build:./build/web
If you change to and delete the COPY part of the Dockerfile and then run it
senseiy@senseIY:~/Documents/rails_docker $docker-compose run web rails new.--force --database=mysql
[+] Running 1/0
⠿ Container rails_docker-db-1 Running 0.0s
[+] Building 43.3s (7/7) FINISHED
=>[internal] load build definition from Dockerfile 0.0s
=>=>transferring dockerfile:399B 0.0s
=>[internal] load.dockerignore 0.0s
=>=>transferring context—2B 0.0s
=>[internal] load metadata for docker.io/library/ruby:2.7 41.3s
=>[1/4] FROM docker.io/library/ruby:2.7 @sha256:490f9343c654ce108a1bd34b4896e5311350.0s
= > CACHED [2/4] RUN curl-sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add 0.0s
=>CACHED [3/4] WORKDIR/app 0.0s
=>ERROR [4/4] RUN bundle config -- local set path 'vendor/bundle' & bundle ins 1.9s
------
>[4/4] RUN bundle config -- local set path 'vendor/bundle' & bundle install:
#7 1.857 Could not locate Gemfile
------
failed to solve:rpc error:code=Unknown desc=executor failed running [/bin/sh-c bundle config --local set path'vendor/bundle'&bundle install]:exit code:10
I got an error like .Also, I couldn't find any article that could solve this problem by googling this error.I don't think I can find Gemfile, but I don't know what to do anymore, so I decided to try another method.Also, this person had an error of ERROR: Service 'web' failed to build: Build failed, but for some reason he didn't.But as far as the files are concerned, they're probably doing the same thing as me.
·As I decided to give permission, the following command was not effective and the error statement remained the same.
#You may have done something meaningless.
senseiy@senseIY:~/Documents/rails_docker$pwd
/home/senseiy/Documents/rails_docker
senseiy@senseIY: ~/Documents/rails_docker $chmod777/home/senseiy/Documents/rails_docker
·As a beginner in programming, I think there are some parts where the perception is wrong.If you have any advice, please let me know.
Additional
You pointed out that there may be a discrepancy between local and container user permissions, so I asked you to look into it.
https://tech-blog.rakus.co.jp/entry/20200826/docker
We proceeded with this article as a reference.
First, rewrite the permissions on the first mounted volume.
senseiy@senseIY:~/Documents/rails_docker $chmod777src
senseiy@senseIY:~/Documents/rails_docker$docker-compose run web rails new.--force--database=mysql
[+] Running 1/0
⠿ Container rails_docker-db-1 Running 0.0s
[+] Building 41.4s (7/9)
=>[internal] load build definition from Dockerfile 0.0s
=>=>transferring dockerfile:397B 0.0s
=>[internal] load.dockerignore 0.0s
=>=>transferring context—2B 0.0s
=>[internal] load metadata for docker.io/library/ruby:2.7 41.3s
=>[1/5] FROM docker.io/library/ruby:2.7 @sha256:490f9343c654ce108a1bd34b4896e5311350.0s
=>ERROR [internal] load build context 0.0s
=>=>transferring context—324B 0.0s
=>CACHED [2/5] RUN curl-sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add 0.0s
=>CACHED [3/5] WORKDIR/app 0.0s
------
>[internal] load build context:
------
failed to solve:rpc error:code=Unknown desc=error from sender:open/home/senseiy/Documents/rails_docker/src/db/mysql_data/#innodb_temp:permission denied
The error did not change specifically as shown in .
I tried to do the second one, but apparently I need to check the id in the container.In my case, there is an error in the initial setting (I haven't made a container yet, so I can't check the id by entering the docker-compose exec container name bash)."Also, the third one needs to be built in the middle, so I don't know what to do, so I got stuck again."If you have any advice, please let me know.
chmod-R777src
Executed the above command (in my case - no R for some reason + all files were re-created)
has been able to resolve this issue.I hope it will be helpful for people like me who are stuck with errors.Thank you for your advice.
If chmod-R777src
doesn't work, run it as an administrator with sudo
on your head.
$sudo chmod-R777src
This worked for me.
904 When building Fast API+Uvicorn environment with PyInstaller, console=False results in an error
570 rails db:create error: Could not find mysql2-0.5.4 in any of the sources
615 Uncaught (inpromise) Error on Electron: An object could not be cloned
571 Who developed the "avformat-59.dll" that comes with FFmpeg?
© 2024 OneMinuteCode. All rights reserved.