이전 글, “Raspberry PI 에서 docker 설치와 실행하기” 을 참고하여 docker 설치를 완료하였다면 이번 글에서는 docker-compose 를 설치하는 방법입니다. 이미 다른 사이트에 자세한 방법이 나와 있으므로 해당 글을 번역한 수준일 수 있습니다.
※ 원문 Getting docker-compose on Raspberry Pi (ARM) the easy way (updated), Last visited 2018/02/01
AD
1. Github 에서 docker-compose source 를 다운 받자!
$ git clone https://github.com/docker/compose.git $ cd compose $ git checkout release
2. RPi 에 맞는 Dockerfile 선택
docker-compose source 에 보면 여러 개의 Dockerfile 이 있습니다. RPi 는 armhf 이 붙은 Dockerfile.armhf 파일을 사용해야 합니다.
- 원문에선 파일 내용을 sed 를 이용해서 치환하라고 했는데 굳이 치환하지 않고 그대로 사용하면 됩니다.
- 사용하는 Raspbian 버전이 Dockerfile.armhf 파일 내용과 다를 경우 Dockerfile.armhf 파일을 열고, “From” 행을 수정할 필요가 있습니다.
$ diff -C0 Dockerfile.armhf.org Dockerfile.armhf *** Dockerfile.armhf.org 2018-06-14 18:00:15.209145525 +0900 --- Dockerfile.armhf 2018-06-14 18:01:05.478736467 +0900 *************** *** 1 **** ! FROM armhf/debian:wheezy --- 1 ---- ! FROM armhf/debian:stretch
- Dockerfile.armhf 내용을 보면 apt-get 을 이용해서 신규 package 설치가 필요하기 때문에 apt-get 옵션에 –force-yes 가 없는 경우, 해당 옵션을 추가합니다.
3. docker-compose source 에서 binary를 build
$ sudo docker build -t docker-compose:armhf -f Dockerfile.armhf . $ docker run --rm --entrypoint="script/build/linux-entrypoint" -v $(pwd)/dist:/code/dist -v $(pwd)/.git:/code/.git "docker-compose:armhf"
원문에서는 build 할 때, ‘sudo’ 가 빠져 있는데 sudo 가 없이 실행하면 apt-get 을 이용한 package 설치가 안되기 때문에 ‘sudo’ 로 실행해 주어야 합니다.
4. docker-compose binary 를 이동
$ sudo cp dist/docker-compose-Linux-armv7l /usr/local/bin/docker-compose $ sudo chown root:root /usr/local/bin/docker-compose $ sudo chmod 0755 /usr/local/bin/docker-compose $ docker-compose version docker-compose version 1.19.0-rc2, build dfcb02c docker-py version: 2.7.0 CPython version: 2.7.13 OpenSSL version: OpenSSL 1.0.1t 3 May 2016
AD