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

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

감사합니다. -현록

후원해주실 분은 여기로→

현록의 기록저장소

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
Comments

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

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

감사합니다. -현록

후원해주실 분은 여기로→