2021. 9. 15. 10:45ㆍ도커
기존에는 window에서 도커를 설치해서 사용하다가.. 우분투에서 DB를 도커이미지로 사용하려고 했더니 어떻게 받는지 몰라서 정리해둔 글을 가져왔었던것 같다
window의 경우 docker tool box를 사용했었다.
우분투에 docker를 설치 하는 방법이다.
역시나 기억을 지배하기 위해 오늘도 끄적거린다.
환경
- 가상머신 ( Vbox or VMware)
- OS : UBUNTU 18.04.5 LTS
Docker를 왜 사용하는지에 대해서는 다른 블로그에 많이 설명이 되어 있기에 여기서는 패스하고자 한다.
간단히 설치 하는 방법과 설치가 제대로 되었는지에 대한 내용이다.
설치 방법
##### 시스템을 최신으로 하기 위한 업데이트를 한다.
sudo apt update
##### 사전 설치를 한다.
sudo apt install apt-transport-https ca-certificates curl software-properties-common
##### Docker repository key를 Add 한다.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
##### Docker repository를 Add 한다.
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
##### 시스템을 최신으로 하기 위한 다시 업데이트를 한다.
sudo apt update
이제 시스템에 docket-ce를 설치하기 전어 설치 가능한 버을 확인 한다. (이 부분은 생략해도 무방하다)
ubuntu@test:~$ apt-cache policy docker-ce
docker-ce:
설치: (없음) ### 설치가 되어 있을 경우 설치 버전이 출력이 된다.
후보: 5:20.10.2~3-0~ubuntu-bionic
버전 테이블:
5:20.10.2~3-0~ubuntu-bionic 500
500 https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
5:20.10.1~3-0~ubuntu-bionic 500
500 https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
~ (생략)
500 https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
18.06.0~ce~3-0~ubuntu 500
500 https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
18.03.1~ce~3-0~ubuntu 500
500 https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
확인이 되었으면 docker를 설치 한다.
sudo apt install docker-ce
설치를 한 후에 위의 apt-cache policy명령어를 다시 사용해 보면 설치된 버전을 확인할 수 있다.
ubuntu@test:~$ apt-cache policy docker-ce
docker-ce:
설치: 5:20.10.2~3-0~ubuntu-bionic ##### docker가 설치된 버전
후보: 5:20.10.2~3-0~ubuntu-bionic
버전 테이블:
*** 5:20.10.2~3-0~ubuntu-bionic 500
500 https://download.docker.com/l
docker가 정상적으로 설치가 되었는지를 간단히 확인하는 방법은 아래와 같다.
### UBUNTU의 경우 apt를 이용하여 설치를 할 경우 Daemon이 대부분 실행 되고 있다.
### Docker daemon실행 여부 확인
ubuntu@test:~$ sudo systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2021-01-07 14:47:12 KST; 1min 38s ago
Docs: https://docs.docker.com
Main PID: 14364 (dockerd)
Tasks: 10
CGroup: /system.slice/docker.service
└─14364 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
1월 07 14:47:12 test dockerd[14364]: time="2021-01-07T14:47:12.266045157+09:00" level=warning msg="Your kernel does not support CPU re
1월 07 14:47:12 test dockerd[14364]: time="2021-01-07T14:47:12.266053988+09:00" level=warning msg="Your kernel does not support cgroup
1월 07 14:47:12 test dockerd[14364]: time="2021-01-07T14:47:12.266058467+09:00" level=warning msg="Your kernel does not support cgroup
1월 07 14:47:12 test dockerd[14364]: time="2021-01-07T14:47:12.266200889+09:00" level=info msg="Loading containers: start."
1월 07 14:47:12 test dockerd[14364]: time="2021-01-07T14:47:12.356359854+09:00" level=info msg="Default bridge (docker0) is assigned w
1월 07 14:47:12 test dockerd[14364]: time="2021-01-07T14:47:12.469641142+09:00" level=info msg="Loading containers: done."
1월 07 14:47:12 test dockerd[14364]: time="2021-01-07T14:47:12.511255003+09:00" level=info msg="Docker daemon" commit=8891c58 graphdri
1월 07 14:47:12 test dockerd[14364]: time="2021-01-07T14:47:12.511335470+09:00" level=info msg="Daemon has completed initialization"
1월 07 14:47:12 test systemd[1]: Started Docker Application Container Engine.
1월 07 14:47:12 test dockerd[14364]: time="2021-01-07T14:47:12.549556827+09:00" level=info msg="API listen on /var/run/docker.sock"
### Docker가 실행 되고 있을 경우 Docker0라는 네트워크 인터페이스도 생성 된다.
### ifconfig 명령어가 실행이 안될 경우 sudo apt install net-tools를 실행한다.
ubuntu@test:~$ ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
ether 02:42:6f:6f:5e:67 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
- Dcoker version 확인
usage : sudo docker version
ubuntu@test:~$ sudo docker version
Client: Docker Engine - Community
Version: 20.10.2
API version: 1.41
Go version: go1.13.15
Git commit: 2291f61
Built: Mon Dec 28 16:17:32 2020
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.2
API version: 1.41 (minimum version 1.12)
Go version: go1.13.15
Git commit: 8891c58
Built: Mon Dec 28 16:15:09 2020
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.3
GitCommit: 269548fa27e0089a8b8278fc4fc781d7f65a939b
runc:
Version: 1.0.0-rc92
GitCommit: ff819c7e9184c13b7c2607fe6c30ae19403a7aff
docker-init:
Version: 0.19.0
GitCommit: de40ad0
- Dcoker start/stop/status 확인
sudo systemctl start docker ### docker 시작
sudo systemctl stop docker ### docker 종료
sudo systemctl status docker ### docker 상태 확인
이상 Docker 설치는 여기까지 입니다.
##기타 참고사항 도커 명령어 쉽게 호출하는방법##
기본적으로 root 계정 외에는 docker 실행 권한이 없습니다.
일반 유저에게 sudo 로 권한을 주거나, 도커 그룹에 사용자를 추가하면 일반 유저도 docker 명령어 사용이 가능해 집니다.
> docker group 추가 방법
[root#] sudo usermod -a -G docker $USER
출처: https://gntpapa.tistory.com/entry/8-docker-일반-사용자가-docker-실행-방법 [PaPa]
docker 가 root 계정으로 설치하게 되면 root 계정이 아닌 계정으로 docker 실행 시 permission 문제가 발생한다.
Solving Docker permission denied while trying to connect to the Docker daemon socket
docker 명령어 실행 시 위와 같은 메시지가 발생하면 해당 계정에 그룹을 추가해 줌으로 해결 할 수 있다.
해결방법
1. 로그인 한 계정에 docker 그룹을 추가해 준다.
$ sudo usermod -a -G docker $USER
2. docker 서비스를 재기동 해 준다.
$ sudo service docker restart
3. 로그 아웃 후 로그인 해 정상 동작 하는지 확인 한다.
출처: https://teddyh.tistory.com/31 [Hello]
'도커' 카테고리의 다른 글
도커설치(윈도우) 및 docker toolbox와 차이점+설치에러 정리 (0) | 2021.09.25 |
---|---|
도커 로그확인방법 및 내부 파일 복사 붙여넣기 (0) | 2021.09.15 |