Joonas' Note
[번역] Docker - OpenStack (3/4) 본문
원문: https://wiki.openstack.org/wiki/Docker
[번역] Docker - OpenStack (3/4)
3. Nova-Docker를 사용하기 위한 DevStack 설정
데브스택(DevStack)의 도커 하이퍼바이저를 사용하면 이전 단계들에서 작성한 모든 설정이 바뀝니다.
NOTE: 아래 코드에서, localadmin은 관리자 계정을 의미하는 것이니, 자신의 설정에 맞게 바꾸시면 됩니다.
3.1. 최신 버전의 도커 설치
Ubuntu:
[ -e /usr/lib/apt/methods/https ] || {
sudo apt-get update
sudo apt-get install apt-transport-https
}
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 \
--recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
sudo sh -c "echo deb https://get.docker.com/ubuntu docker main \
> /etc/apt/sources.list.d/docker.list"
sudo apt-get update
sudo apt-get install -y lxc-docker
source /etc/bash_completion.d/docker # Docker file completion for bash
sudo bash -c "echo DOCKER_OPTS=\'-G localadmin\' >> /etc/default/docker"
sudo restart docker
docker version # Should work!
docker run -i -t ubuntu /bin/bash # Optional test step
Fedora:
sudo yum -y install docker
sudo yum -y update docker
sudo systemctl start docker
sudo systemctl enable docker
sudo docker run -i -t ubuntu /bin/bash
3.2. Nova-Docker 준비
sudo apt-get update
sudo apt-get install -y python-pip python-dev
rm -rf /opt/stack/nova-docker
sudo mkdir -p /opt/stack
sudo git clone https://git.openstack.org/openstack/nova-docker /opt/stack/nova-docker
cd /opt/stack/nova-docker
# Check out a different version if not using master, i.e:
# sudo git checkout stable/kilo && sudo git pull --ff-only origin stable/kilo
sudo pip install . # The linecache2 error appears to be benign
3.3. DevStack 설치
devstack을 복제하세요. (stable/kilo, master처럼 서로 같은 버전의 devstack과 nova-docker를 사용하기를 권장합니다.)
(역: 2018년 10월 30일 기준으로, 저장소는 여기입니다. https://git.openstack.org/cgit/openstack-dev/devstack)
DevStack의 stack.sh 스크립트를 실행하기 전에, 아래와 같이 local.conf 또는 localrc 파일을 설정합니다.
localrc
VIRT_DRIVER=novadocker.virt.docker.DockerDriver
# Introduce glance to docker images
$GLANCE_API_CONF
[DEFAULT]
container_formats=ami,ari,aki,bare,ovf,ova,docker
nova-docker 드라이버를 사용하기 위한 nova를 설정합니다. 킬로(Kilo) 버전 릴리즈에서는 뉴트론(neutron)이 기본값임을 알아두세요.
$NOVA_CONF
[DEFAULT]
compute_driver=novadocker.virt.docker.DockerDriver
echo "##### Introduce glance to docker images" >> local.conf
echo "\$GLANCE_API_CONF" >> local.conf
echo "[DEFAULT]" >> local.conf
echo container_formats=ami,ari,aki,bare,ovf,ova,docker >> local.conf
echo >> local.conf
echo "##### Configure nova to use the nova-docker driver" >> local.conf
echo "\$NOVA_CONF" >> local.conf
echo "[DEFAULT]" >> local.conf
echo compute_driver=novadocker.virt.docker.DockerDriver >> local.conf
echo >> local.conf
3.4. DevStack 시작
./stack.sh
3.5. Nova-Docker 테스트
필터를 복사합니다.
sudo cp /opt/stack/nova-docker/etc/nova/rootwrap.d/docker.filters /etc/nova/rootwrap.d/
컨테이너를 시작합니다.
. openrc admin
INSTANCE=d1
IMAGE=cirros
docker pull ${IMAGE}
docker save ${IMAGE} |
glance image-create --name ${IMAGE} --visibility public --container-format docker --disk-format raw
nova boot --image ${IMAGE} --flavor m1.tiny ${INSTANCE}
sleep 10
nova list
nova show ${INSTANCE}
플로팅 IP(floating IP)를 할당한 후, 컨테이너와 연결합니다.
ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no cirros@${floatingip_ip}
'개발 > Docker' 카테고리의 다른 글
도커 스웜 모드의 서비스 장애 복구 (0) | 2018.11.08 |
---|---|
[번역] Docker - OpenStack (4/4) (0) | 2018.10.30 |
[번역] Docker - OpenStack (2/4) (3) | 2018.10.29 |
[번역] Docker - OpenStack (1/4) (0) | 2018.10.29 |
사용자에게 Docker의 sudo 권한 부여하기 (0) | 2018.10.29 |