최근 도커에 관련하여 공부중이여서 포스팅을 한다.
리눅스 컨테이너 기술을 활용하는 도커의 소스코드를 직접 컴파일하기 까지의 환경 구성에 대한 내용이다.
정확한 자료가 온라인 상에 존재하지 않는게 슬프다...
19년 2월 11일 현재 기준 테스트를 완료한 내용이다.
OS환경: xubuntu 18.04 LTS 64bit(우분투 환경)
docker-ce compile 환경 구축하기
1. Golang 설치
레포지토리 업데이트
sudo apt update -y
golang 및 git 설치
sudo apt install golang git go-dep -y
작업 디렉토리 설정
export GOPATH=$HOME/go
설치 확인
go version
2. docker 설치
curl 설치
sudo apt install curl -y
스크립트 가져오고 실행
curl -fsSL https://get.docker.com/ | sudo sh
docker 사용자 추가
- 명령 실행시 일일이 sudo 권한을 안주게 하기 위함
- docker 그룹에 현재 사용자 추가
sudo usermod -aG docker $USER
설치 확인
docker -v
docker 서비스 확인
service docker status
서비스 실행
service docker start
서비스 중지
service docker stop
docker 디버그 모드 설정
해당 모드를 설정하게 되면 DEBU와 관련된 메시지를 콘솔 화면에 띄움
vi /etc/docker/daemon.json
{ "debug": true }
저장 후 서비스 재시작
3. docker-ce 소스 가져오기
클론
git clone https://github.com/docker/docker-ce.git
4. docker-ce 소스 컴파일
docker 엔진 컴파일
docker 데몬이 실행 중이어야 함
cd ~/go/docker-ce/components/engine sudo make
기존 실행된 서비스 종료
service docker stop
docker 데몬 실행
cd ~/go/docker-ce/components/engine/bundles/binary-daemon
./dockerd
docker 클라이언트 컴파일
docker 데몬이 실행 중이어야 함
cd ~/go/docker-ce/components/cli sudo make -f docker.Makefile binary
확인
cd ~/go/docker-ce/components/cli/build
./docker
docker 패키징
docker 데몬이 실행 중이어야 함
설치 시 기존 설치된 패키지에 덮어 씌워짐
cd ~/go/docker-ce/components/packaging/deb sudo make ubuntu-bionic
cd debbuild/ubuntu-bionic sudo apt install docker-ce_0.0.0-20190129010403-e36005021b-0~ubuntu-bionic_amd64.deb 또는 sudo dpkg -i install docker-ce_0.0.0-20190129010403-e36005021b-0~ubuntu-bionic_amd64.deb
8. docker 커맨드
docker 모두 제거 시리즈
컨테이너
docker system prune
이미지
docker image prune -a
볼륨
docker volume prune
네트워크
docker network prune
docker 실행
docker run
옵션
- 포트번호: -p xxxx:xxxx
docker 컨테이너
모두 보기
docker ps -a
컨테이너 삭제
docker rm [컨테이너id]
docker 이미지
모두 보기
docker images
이미지 삭제
docker rmi [이미지명|이미지id]