Ubuntu에서 Docker를 사용해보자! with MacBook Air M1

ay.zip·2021년 11월 7일
0

docker

목록 보기
1/2


오늘은 수업시간에 ubuntu로 docker를 사용해보는 시간을 가졌다.

Virtual Box로 하면된다고 해서 따라했는데 계속 에러가 떠서, 교수님께 여쭤보니 MacBook M1은 지원을 안한다고,,,😂😂

다른 학우분께서 본인이 쓰는 방법을 알려주셨는데 그것도 안되서 포기해야하나 싶었다. 그 때, 또 다른 학우분이 링크를 하나 공유해주셔서 정말 감사하게도 나도 연결할 수 있었다.

MacBook Air M1에 Linux(Ubuntu)설치하기 ( + Parallels )

Parallels에서 14일인가 7일인가 무료 트라이얼을 제공해줘서 오늘 분량은 다행히 따라 잡을 수 있게 되었다.


Dockerfile 작성하기

touch Dockerfile
vim Dockerfile
다 끝나면 :wq! 해서 나오기

나는 node.js 파일을 docker로 연결시켜야했기 때문에, 아래 링크를 참고했다.

https://nodejs.org/ko/docs/guides/nodejs-docker-webapp/


🚨에러난 부분🚨

1)
docker build -t myapache .

docker 이미지를 빌드하는 부분인데, 계속 Got permission denied while trying to connect to the Docker daemon socket at unix://var/run/docekr.socket:Post~
이렇게 떴었다.

검색을 하다 2가지 방법을 찾았다.

🥕 1번

sudo usermod -a -G docker $USER
// 피피티에 위의 문장을 쓰면 된다고 해서 했는데, 계속 거절되었다.
sudo service docker restart
docker build -t myapache .

-> docker 그룹에 사용자를 추가하는 것. docker는 root 계정 외에는 실행 권한이 없기 때문에, 사용자를 추가해줌으로써 매번 권한 얻는 과정을 줄일 수 있다. (출처 : https://developer-kus.tistory.com/41)

🥕 2번 (작동함)

sudo chmod 666 /var/run/docker.socket
docker build -t myapache .

-> /var/run/docker.socket의 파일 권한을 666으로 변경하여 그룹 내의 다른 사용자도 접근 가능하게 변경하는 것 (출처 : https://github.com/occidere/TIL/issues/116)

2)
node:internal/modules/cjs/loader:936

package.json에 main이 잘못 작성되어 있었음. 파일명이랑 같게 바꿔주니까 에러 사라짐.

3)
문제 해결 방법을 찾았는데 안 고쳐진다?
systemctl stop docker.service
다시 틀었는데도 안된다?
재부팅이 답

4)
request to https //registry.npmjs.org/express failed reason getaddrinfo eai_again registry.npmjs.org

-> npm config rm proxy 
npm config rm https-proxy --tried removing npm proxy 

짧게나마 경험해 본 바로는 문제 생김 -> 구글 서치 -> 방법대로 해봤는데 안됨 -> 재부팅이 답

5) 분명히 잘 빌드되었다고 나왔는데 docker ps를 해보면 안나오는 경우 ->
CMD 부분이 틀렸을 가능성 有

나 같은 경우는 CMD ['node', 'start'] 로 되어 있었는데, 계속 exit로 빠졌다. 
이걸 CMD ['npm','내 파일 이름']으로 수정하니까 docker ps시 보였다. 

0개의 댓글

관련 채용 정보