CI/CI__Jenkins

도커에 젠킨스 설치하기 1) 도커 설치

말하는감자 2019. 6. 5. 14:17


docker 설치하기

설치 및 설정
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum makecache fast
sudo yum install -y docker-ce
sudo systemctl start docker
sudo systemctl enable docker
sudo gpasswd -a root docker


centos 6과 7은 설치 방법이 다르다
7 명령어로 6에서 설치하려고 해봤자 실패



설치가 정상적으로 되었다면 버전 확인
docker version



도커 기본 명령어
도커 컨테이너 확인

docker ps

도커 이미지 확인

docker images

도커 컨테이너 삭제

docker rm 컨테이너이름

도커 이미지 삭제

docker rmi 이미지이름



가장 빨리 만나는 Docker
http://pyrasis.com/docker.html

docker-compose 설치

설치
curl -L "https://github.com/docker/compose/releases/download/1.9.0/docker-compose-$(uname -s)-$(uname -m)" -o 
chmod +x /usr/local/bin/docker-compose



설치가 잘 되었는지 확인
docker-compose version


virtual box 설치

docker-machine을 사용하려면 virtualbox가 미리 설치되어 있어야 하므로 먼저 설치해준다



wget 설치
yum install wget

cd /etc/yum.repos.d

wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo

cd

yum repolist

yum list VirtualBox*

yum install VirtualBox-5.0

virtualbox -v



virtualbox 가상화 관련 오류 해결
yum groupinstall "Development tools"

yum install https://centos7.iuscommunity.org/ius-release.rpm

yum install dkms

yum install kernel-devel

reboot

docker-machine 설치

설치
curl -L https://github.com/docker/machine/releases/download/v0.13.0/docker-machine-`uname -s`-`uname -m` >/tmp/docker-machine && chmod +x /tmp/docker-machine && sudo cp /tmp/docker-machine /usr/local/bin/docker-machine



설치 확인
docker-machine -version



노드 리스트 확인
docker-machine ls



노드 생성
docker-machine create 이름
편의상 node00부터 3개를 생성

만약 create 하다가 vb 관련 오류가 난다면 
cmos로 진입해서 advanced-virtual~~ 항목을 enabled로 수정
sudo /sbin/rcvboxdrv setup



만약 노드 확인 했을때 쿼리에러가 나있다면
docker-machine regenerate-certs 노드이름



노드 시작
docker-machine start 노드이름



노드 중지
docker-machine stop 노드이름

swarm

클러스터 초기화
docker swarm init --advertise-addr 서버아이피



워커 노드 토큰 확인
docker swarm join-token worker



매니저 노드 토큰 확인
docker swarm join-token manager



노드 접속
docker-machine ssh 노드이름
접속이 되면 귀여운 고래가 나온다


접속한 노드에서 매니저 토큰을 입력하면 매니저로 조인된다
접속한 노드에서 워커 토큰을 입력하면 워커로 조인된다



매니저가 날아갔을 때 복원 방법

docker swarm init --force-new-cluster --advertise-addr 아이피:2377

Docker war 배포

톰캣 경로 확인
/usr/local/server/apache-tomcat-8.5.33/



톰캣 webapps 안에 war 파일 업로드


tomcat pull
docker pull tomcat:8



war파일과 함께 데몬 형태로 듸우고 외부에서 접근 가능하도록 port forwarding 설정
docker run -d -i -t --name="tomcat8-test" -p 8081:8080 -v /mypath/test.war:/usr/local/server/apache-tomcat-8.5.33/webapps/파일이름.war tomcat:8



Dockerfile에 서버가 항상 떠있도록 설정
FROM openjdk:8-jre-alpine ENV CATALINA_HOME /usr/local/tomcat ENV PATH $CATALINA_HOME/bin:$PATH ... EXPOSE 8080 CMD ["catalina.sh", "run"]