잘못된 정보가 있다면, 꼭 댓글로 알려주세요(비로그인 익명도 가능).
여러분의 피드백이 저와 방문자 모두를 올바른 정보로 인도할 수 있습니다.
감사합니다. -현록
현록의 기록저장소
Docker 설치 본문
[설치]
$ sudo curl -s https://get.docker.com | sudo sh |
[Docker가 제대로 설치되었는지 확인]
$ docker -v |
혹은
$ docker --version |
제대로 설치되었다면, 예시
Docker version 20.10.5, build 55c4c88 |
상세한 버전 정보를 보려면
$ sudo docker version |
Client: Docker Engine - Community Version: 20.10.5 API version: 1.41 Go version: go1.13.15 Git commit: 55c4c88 Built: Tue Mar 2 20:33:55 2021 OS/Arch: linux/amd64 Context: default Experimental: true
Server: Docker Engine - Community Engine: Version: 20.10.5 API version: 1.41 (minimum version 1.12) Go version: go1.13.15 Git commit: 363e9a8 Built: Tue Mar 2 20:32:17 2021 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.4.4 GitCommit: 05f951a3781f4f2c1911b05e61c160e9c30eaa8e runc: Version: 1.0.0-rc93 GitCommit: 12644e614e25b05da6fd08a38ffa0cfe1903fdec docker-init: Version: 0.19.0 GitCommit: de40ad0 |
sudo하지 않으면 Client만 뜨고, Server는 뜨지 않는다(권한부족).
sudo에도 Server가 뜨지 않으면 데몬상태를 확인한다. (아래의 [docker 실행 중인 프로세스 확인] 참조)
[docker 실행 중인 컨테이너 확인]
$ sudo docker ps |
정상적으로 확인 가능하면 아래와 같은 양식으로 보여줌
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES |
정상적으로 확인 불가능하다면(아래처럼 반응한다면)
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? |
Docker 데몬 상태를 확인
$ systemctl status docker |
● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled) Active: inactive (dead) Docs: https://docs.docker.com |
inactive라면, 직접 실행시켜줌
$ systemctl start docker |
실행되었는지 다시 확인
$ systemctl status docker |
● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled) Active: active (running) since Tue 2021-03-31 15:30:28 KST; 4s ago Docs: https://docs.docker.com Main PID: 49998 (dockerd) Tasks: 8 Memory: 157.3M CGroup: /system.slice/docker.service └─49998 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
... |
[sudo 생략하기]
docker는 root 유저로 실행하거나, sudo로 실행해야 하는데,
sudo를 생략하고 싶다면, 유저를 docker 그룹에 추가시켜주면 된다.
Docker가 제대로 설치되었다면, 유저 그룹에 docker가 자동으로 추가되어있는 것을 확인할 수 있다.
$ tail /etc/group | grep docker |
... docker:x:994: |
유저를 이 docker 그룹에 속하도록 하면 됨
$ sudo usermod -aG docker 유저명 |
현재 로그인한 유저가 추가되려면
$ sudo usermod -aG docker $USER |
$ vi /etc/group |
... docker:x:994:유저명1,유저명2,유저명3 |
직접 에디터로 /etc/group을 수정해도 되고
그룹에 유저를 추가하는 개념인 gpasswd -a(--all)를 사용하면
$ sudo gpasswd -a 유저명 그룹명 |
$ sudo gpasswd -a $USER docker |
새로 로그인해야 적용된다.
제거하려면 -d(--delete) 옵션으로
$ sudo gpasswd -d $USER docker |
현재 로그인한 유저가 속한 그룹 확인
$ groups |
ex1 ex2 docker |
'Study > Docker' 카테고리의 다른 글
Dockerfile 작성 (Dockerfile로 배포) (0) | 2023.01.03 |
---|---|
Docker 마운팅 (0) | 2021.04.02 |
Docker 실행 (0) | 2021.04.01 |
Docker 이미지들 (Docker Hub) (0) | 2021.03.31 |
도커 자료 (외부 링크, 백업) (0) | 2021.03.31 |
잘못된 정보가 있다면, 꼭 댓글로 알려주세요(비로그인 익명도 가능).
여러분의 피드백이 저와 방문자 모두를 올바른 정보로 인도할 수 있습니다.
감사합니다. -현록