Docker 에러

2022. 1. 2. 13:56Docker

PermissionError: [Errno 13] Permission denied: '/home/docker/app/gitlab/logs/gitlab-shell'

gitlab의 파일들은 root권한으로 생성되기 때문에 권한문제 발생하기 때문에 'sudo'로 실행해야 함

sudo docker build

sudo docker-compose build

WARNING: The GITLAB_HOME variable is not set. Defaulting to a blank string.

'sudo docker-compose build' 수행시 발생 : 신경 안써도 됨

ls: can't open '.': Permission denied

'docker exec -it 컨테이너 bash'로 들어갔는데, volume의 파일을 못보는 경우, selinux가 원인일 수 있음

volume 구성할때, 끝에 ":Z" 추가 필요

ERROR: Failed to load config stat /home/docker/.gitlab-runner/config.toml: no such file or directory  builds=0

'docker exec -it 컨테이너 gitlab-runner register'를 통하여 runner를 등록하면 해결 됨

fatal: git fetch-pack: expected shallow list

https://teamsmiley.github.io/2020/09/17/git-fetch-pack-error/

 

https://teamsmiley.github.io/2020/09/17/git-fetch-pack-error/

fatal: git fetch-pack: expected shallow list 오늘 gitlab runner를 추가햇는데 하나의 서버에서 위 에러를 발생 확인해보니 centos 7이 git 1.8.3.1 을 사용하는데 이버전은 fetch-pack을 지원하지 않음. 그래서 centos 7

teamsmiley.github.io

centos7에서 사용하는 git 버전이 낮아서 생긴 문제 : root 권한으로 수행

yum remove git
yum -y install https://packages.endpoint.com/rhel/7/os/x86_64/endpoint-repo-1.7-1.x86_64.rpm
yum install git -y
git --version

Error response from daemon: rpc error: code = 14 desc = grpc: the connection is unavailable

 docker swarm join --token 수행시 발생 :  docker swarm 연동을 위한 manager 서버 포트가 막혀 있어서 발생

sudo firewall-cmd --add-port=2376/tcp --permanent 
sudo firewall-cmd --add-port=2377/tcp --permanent 
sudo firewall-cmd --add-port=7946/tcp --permanent 
sudo firewall-cmd --add-port=7946/udp --permanent 
sudo firewall-cmd --add-port=4789/udp --permanent

sudo systemctl restart firewalld

unknown flag: --iidfile

docker-compose build 수행시 에러 발생

근본적으로 docker 버전이 낮아서 생긴 문제 : docker -> docker-ce로 변경 필요

docker -v

Docker version 1.13.1, build 7d71120/1.13.1

https://ikcoo.tistory.com/69

 

09. Docker Version Update

Docker Version Update 환경 OS : CentOS 7 리눅스 커널 버전 : Linux 3.10.0-1062.el7.x86_64 docker version : 1.13.1 api verison : 1.26 CentOS 7 의 경우 yum install -y docker 명령으로 docker 를 바로 설..

ikcoo.tistory.com

docker stop 컨테이너명 : 나중에 'docker start 컨테이너명'이 작동하지 않아서 'docker rm 컨테이너명'으로 삭제함

yum remove -y docker-common

yum install -y yum-utils device-mapper-persistent-data lvm2

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

yum list docker-ce --showduplicates | sort -r

yum install -y docker-ce

systemctl start docker

systemctl start enable docker.service

docker -v

Docker version 20.10.12, build e91ed57

msr kernel module is not available

권한과 파일 접근 문제로 에러 발생

    privileged: true    
    volumes:
      - /lib/modules:/lib/modules

Error response from daemon: Get https://gitlab.example.com:5050/v1/users/: dial tcp 127.0.0.1:5050: connect: connection refused

# 내부 5050 포트를 외부에 열어 주어야 함

    ports:
      - '80:80'
      - '443:443'
      - '1122:1122' # ssh 포트 host의 22번과 충돌을 피하기 위함
      - '5050:5050'

denied: requested access to the resource is denied

# 로그인이 먼저 되어야 함

docker login gitlab.example.com:5050

# 로그인을 했는데도발생하면, 계정명이 빠져서 그럴 수 있음

docker push gitlab.example.com:5050/계정명/이미지명:태그

WARNING: Checking for jobs... failed                runner=Gyz4PEGg status=couldn't execute POST against http://gitlab/api/v4/jobs/request: Post "http://gitlab/api/v4/jobs/request": dial tcp: lookup gitlab on 127.0.0.11:53: no such host

gitlab-runner의 접속 url이 잘못되어서 생긴 문제 : docker-compose/bridge network에서는 문제 없었음'

docker stack deploy로 실행할때 문제가 됨

[[runners]]
  name = "xmrig"
  url = "http://gitlab/"

제대로된 url로 변경해야 함

[[runners]]
  name = "xmrig"
  url = "http://gitlab.example.co.kr/"

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

failed to start daemon: error while opening volume store metadata database: timeout

이것 저것 다 해봤는데, 해결 안되고 구찮아서, 지우고 그냥 다시 설치함

https://docs.docker.com/engine/install/centos/

 

Install Docker Engine on CentOS

 

docs.docker.com

sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate \
                  docker-engine

sudo yum install -y yum-utils

sudo yum-config-manager -add-repo https://download.docker.com/linux/centos/docker-ce.repo

sudo yum install docker-ce docker-ce-cli containerd.io

sudo systemctl enable docker

sudo systemctl start docker

Get "https://gitlab.example:5050/v2/": http: server gave HTTP response to HTTPS client

ssl 인증서 없으면, 예외처리 해야 함

sudo vi /etc/demon.json

{
        "insecure-registries": ["gitlab.example:5050"]
}

sudo systemctl restart docker

No such image: gitlab.example.com:5050/abc/aaa:1.02

docker stack deploy 수행시, 배포될 서버에 이미지가 없어서 생긴 오류

https://docs.docker.com/engine/reference/commandline/stack_deploy/

 

docker stack deploy

docker stack deploy: Create and update a stack from a `compose` file on the swarm. > **Note** > > This is a cluster management command, and must be executed on...

docs.docker.com

docker stack deploy --with-registry-auth : 옵션을 추가하면 registry에서 다운받아서 진행함

그래도 안될 경우는 배포 대상 서버에서 registry에 접속이 되는지 확인 필요(daemon.json 셋팅 등)

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

docker ps 수행시 에러 발생

sudo systemctl start docker

Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.

sudo systemctl status docker

● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: failed (Result: start-limit) since 일 2022-01-23 23:36:36 KST; 13min ago
     Docs: https://docs.docker.com
  Process: 1632 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=1/FAILURE)
 Main PID: 1632 (code=exited, status=1/FAILURE)

sudo journalctl -u docker

 failed to start daemon: Unable to get the TempDir under /var/lib/docker: mkdir /var/lib/docker/tmp: no space left on device

용량이 부족해서 정상적으로 작동안함

# 용량 증설(첫번째 참조로 해결함)

https://blog.naver.com/PostView.naver?blogId=ncloud24&logNo=221974387072&redirect=Dlog&widgetTypeCall=true&directAccess=false 

 

[CentOS] 물리 볼륨이 늘어난 ROOT 디스크 확장

테스트 환경 KT Cloud CentOS 7.6 64Bit 사용 방안 - LVM ROOT 디스크의 물리 볼륨이 증가하...

blog.naver.com

https://brandon-dev.tistory.com/m/22

 

CentOS 7 설정 #4 OS 디스크 용량 부족

라즈베리파이 3에 CentOS 설치 후, MariaDB, 그리고 Python3을 설치하려고 하는데... 디스크 용량 부족 메시지가 떳다. ???? 내 SD카드는 분명 64G짜리인데.... 설마 하는 마음에 Disk 사이즈를 확인해 보았다

brandon-dev.tistory.com

용량이 '0'이라서 마지막에 적용이 안됨

해당 volume 에서 필요없는 로그들 삭제 후에 작업 진행하면 해결 됨(필요 없는 로그 삭제)

만든지 10일 경과한 로그 파일 삭제

find ./ -name '*.log.*' -mtime +10 -delete

ERROR: Preparation failed: ssh command Connect() error: ssh Dial() error: ssh: handshake failed: ssh: unable to authenticate, attempted methods [none password], no supported methods remain

https://docs.gitlab.com/runner/configuration/advanced-configuration.html

 

Advanced configuration | GitLab

Documentation for GitLab Community Edition, GitLab Enterprise Edition, Omnibus GitLab, and GitLab Runner.

docs.gitlab.com

# runner에 private key 설정하지 않아서 에러 발생

sudo vi config.toml

# 아래 내용 추가

identity_file = "컨테이너 private key 파일위치"

Error: No such image: xxxx:xxxx

https://stackoverflow.com/questions/46381888/docker-images-shows-image-docker-rmi-says-no-such-image-or-reference-doe/46386670

 

"docker images" shows image, "docker rmi" says "no such image" or "reference does not exist"

In some reasons I can't delete docker image. Here is output OS version: Linux localhost.localdomain 4.12.13-300.fc26.x86_64 #1 SMP Thu Sep 14 16:00:38 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux doc...

stackoverflow.com

docker rmi xxxx:xxxx 수행시 에러 발생

관리자 권한으로 해당 이미지 정보 삭제

su
cd /var/lib/docker/image/overlay2/imagedb/content/sha256
docoker images -a

# 대상 이미지 정보의 'image id'로 삭제
rm -f ${image id}

# 서비스 재기동
# 나는 stop만 해도 자동으로 뜨는데, 왜 그러닞 모름
sudo service docker stop
sudo service docker start

 

'Docker' 카테고리의 다른 글

gitlab 명령어  (0) 2022.01.09
gitlab-runner 설치  (0) 2022.01.02
Docker 명령어  (0) 2022.01.02
Linux Docker 설치  (0) 2021.12.31
InfluxDB 명령어  (0) 2021.12.26