잘못된 정보가 있다면, 꼭 댓글로 알려주세요(비로그인 익명도 가능).

여러분의 피드백이 저와 방문자 모두를 올바른 정보로 인도할 수 있습니다.

감사합니다. -현록

후원해주실 분은 여기로→

현록의 기록저장소

Docker 설치 본문

Study/Docker

Docker 설치

현록 2021. 3. 31. 15:42

[설치]

 

$ 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

잘못된 정보가 있다면, 꼭 댓글로 알려주세요(비로그인 익명도 가능).

여러분의 피드백이 저와 방문자 모두를 올바른 정보로 인도할 수 있습니다.

감사합니다. -현록

후원해주실 분은 여기로→