Ubuntu 환경에서 Docker 설치를 조금은 색다르게 해보고자 한다.
여러 편한 방법이 있겠지만, 직접 버전을 선택해서 패키지 파일을 내려 받아 설치하는 것이다.
특정 버전을 직접 관리하면서 사용할 수 있다는 장점이 있다.
1. Ubuntu 버전 확인
- 지금 사용하고 있는 버전이 어떤 것인지 확인을 해보자.
❯ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.6 LTS Release: 20.04 Codename: focal |
2. Docker 패키지 파일 확인
- 어떤 버전이 있는지, 그리고 다운로드 주소가 어떻게 되는지 확인 해보자.
. https://download.docker.com/linux/ubuntu/dists/
- 우리가 확인해야할 패키지는 다음의 3 종류이다.
. containerd
. docker-ce-cli
. docker-ce
3. 패키지 다운로드 및 설치
- 이제 내려받아서 설치하자.
❯ wget https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/containerd.io_1.6.21-1_amd64.deb ❯ wget https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/docker-ce-cli_23.0.6-1~ubuntu.20.04~focal_amd64.deb ❯ wget https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/docker-ce_23.0.6-1~ubuntu.20.04~focal_amd64.deb ❯ sudo dpkg --install ./containerd.io_1.6.21-1_amd64.deb ❯ sudo dpkg --install ./docker-ce-cli_23.0.6-1~ubuntu.20.04~focal_amd64.deb ❯ sudo dpkg --install ./docker-ce_23.0.6-1~ubuntu.20.04~focal_amd64.deb |
4. 실행 권한 설정
- root가 아닌 현재 사용자 계정에서 docker를 사용하기 위해 그룹 설정을 해주자.
❯ sudo usermod -aG docker $USER |
- 설정한 다음, 재부팅 또는 로그 오프 후 재로그인을 해줘야 한다.
- 그리고 잘 되는지 확인해보자.
❯ docker --version Docker version 23.0.6, build ef23cbc |
5. 실습을 위한 파일 작성
- docker build 실습을 위한 파일 2개를 다음과 같이 준비하자.
❯ nano index.html <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>Kubernetes</title> </head> <body> <h2>Hello, This is K8s World</h2> </body> </html> |
❯ nano Dockerfile FROM nginx:latest COPY ./index.html /usr/share/nginx/html/index.html |
6. docker build
- 이미지 생성해보자.
- 마지막에 . 찍어주는 것 잊지 말자 ^^
❯ docker build -t webserver . DEPRECATED: The legacy builder is deprecated and will be removed in a future release. Install the buildx component to build images with BuildKit: https://docs.docker.com/go/buildx/ Sending build context to Docker daemon 3.072kB Step 1/2 : FROM nginx:latest latest: Pulling from library/nginx 9e3ea8720c6d: Pull complete bf36b6466679: Pull complete 15a97cf85bb8: Pull complete 9c2d6be5a61d: Pull complete 6b7e4a5c7c7a: Pull complete 8db4caa19df8: Pull complete Digest: sha256:480868e8c8c797794257e2abd88d0f9a8809b2fe956cbfbc05dcc0bca1f7cd43 Status: Downloaded newer image for nginx:latest ---> 448a08f1d2f9 Step 2/2 : COPY ./index.html /usr/share/nginx/html/index.html ---> 32317f8e7b5c Successfully built 32317f8e7b5c Successfully tagged webserver:latest |
- 응?! DEPRECATED ?! BuildKit을 사용해야 한단다.
7. BuildKit 설치
- docker 패키지 살펴볼 때 눈치 빠르신 분은 이미 찾았을 것이다.
❯ wget https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/docker-buildx-plugin_0.10.4-1~ubuntu.20.04~focal_amd64.deb ❯ sudo dpkg --install ./docker-buildx-plugin_0.10.4-1~ubuntu.20.04~focal_amd64.deb |
8 docker buildx build
- 이제 새롭게 빌드해보자. 명령어는 크게 다르지 않다.
❯ docker buildx build -t webserver2 . [+] Building 0.4s (7/7) FINISHED => [internal] load build definition from Dockerfile 0.1s => => transferring dockerfile: 107B 0.0s => [internal] load .dockerignore 0.1s => => transferring context: 2B 0.0s => [internal] load metadata for docker.io/library/nginx:latest 0.0s => [internal] load build context 0.1s => => transferring context: 199B 0.0s => [1/2] FROM docker.io/library/nginx:latest 0.2s => [2/2] COPY ./index.html /usr/share/nginx/html/index.html 0.1s => exporting to image 0.1s => => exporting layers 0.1s => => writing image sha256:3f0130968d1e78db17dc061d1363da5f49c8157a1a73ffb10d923d9d7af16af 0.0s => => naming to docker.io/library/webserver2 |
여기까지~
간만에 docker build 해봤다가 명령어가 deprecated 되었다고 해서 깜짝 놀라 급히 정리해봤다 ^^
'Dev Tools > Docker' 카테고리의 다른 글
Portainer 설치 (Ubuntu 20.04) (0) | 2022.02.06 |
---|---|
Docker로 Windows 2000 설치하기 (0) | 2021.11.23 |
Docker 설치 (Ubuntu Server 20.04 - 64bit) - using Download (0) | 2020.12.26 |
docker-compose Install (18.04) (0) | 2019.07.15 |
Docker Install (Ubuntu 16.04/18.04 - 64bit) - using Download (0) | 2019.07.07 |