Docker (18) 썸네일형 리스트형 Dockerfile 내에서 gradle 빌드 후 spring boot 이미지 생성 (Multi Stage) 배포환경을 구성할 때 간혹 gradle의 다양한 버전을 이용해서 배포해야하는 경우가 있다. 서버에 세팅된 gradle 버전 말고 다른 버전을 사용해야 할 경우 젠킨스 플러그인 설치 말고 gradle이미지를 이용해서 빌드를 하고 이미지를 생성하는 방법을 사용할 수 있다. Docker Multi Stage 라고 한다. 하나의 Dockerfile안에서 빌드하고 실행이미지를 생성할 수 있다. 이전단계의 artifact를 복사해서 새로운 빌드단계에서 사용할 수 있다. Dockerfile FROM gradle:6.9.2-jdk11-alpine AS TEMP_BUILD_IMAGE WORKDIR /home/gradle/src/ COPY --chown=gradle:gradle . /home/gradle/src USER .. Docker image offline 설치 이미지 오프라인에서 사용 1. 로컬에 도커 이미지 다운 docker pull nginx 2. tar로 압축 docker save -o nginx.tar nginx nginx.tar 는 압축할 파일명 뒤에 nginx는 이미지명 사설 이미지일 경우 경로와 버전까지 명시해줘야한다. 3. 서버로 업로드 4. 이미지 로드 docker load -i nginx.tar wsl2 우분투 cannot connect to the docker daemon at unix:///var/run/docker.sock. is the docker daemon running? wsl2에서 docker실행할 때 계속 저 에러가 나는데 뜨문뜨문 할 때마다 계속 검색하는 내 자신이 싫어서 남겨놓음. $docker ps Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? $systemctl start docker System has not been booted with systemd as init system (PID 1). Can't operate. Failed to connect to bus: Host is down $sudo /etc/init.d/docker start $docker ps Docker mariadb 설치 Docker image pull docker pull mariadb Docker Run docker container run -d -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=1234 \ -v /Users/Shared/data/mariadb:/var/lib/mysql \ --name mariadb mariadb docker volume을 잡고 올린다. /Users/Shared가 MacOS에서 설정되어 있는 경로로 데이터를 저장할 경로를 잡으면 된다. Docker Mariadb 설정 복사 docker cp mariadb:/etc/mysql/conf.d /Users/Shared/data/conf.d docker stop mariadb docker rm mariadb 설정을 local로.. Docker 에 rabbitmq 설치 docker pull rabbitmq:3-management management image를 받지 않으면 대시보드를 사용할 수 없다. docker run -d --hostname rabbit --name rabbit -p5672:5672 -p 15672:15672 rabbitmq:3-management -e RABBITMQ_DEFAULT_USER=username -e RABBITMQ_DEFAULT_PASS=password 컨테이너에 올리면서 username과 비밀번호를 설정할 수 있다 default 계정 : guest / guest rabbitmq cluster 구성 방법 docker run -d --name rabbitmq_node1 -h rabbitmq_node1 -it --network prod -.. Elk opendistro docker-swarm으로 올리기 폴더구조 elk folder - docker-compose.yml - elasticsearch: - Dockerfile - alerting.zip - config: - elasticsearch.yml - data: - kibana: - Dockerfile - opendistroAlertingKibana-1.13.0.0.zip - config: - kibana.yml - logstash : - Dockerfile - config: - logstash.yml - pipeline: - logstash.conf 설정파일 정리 Elasticsearch build image Dockerfile opendistro download (github.com/opendistro-for-elasticsearch/alertin.. Docker swarm init token 조회 join 방법 docker swarm init 명령어로 swarm을 초기화할 수 있다. docker swarm init 초기화를 하면 join할 수 있는 token이 저렇게 나온다. 그러면 join할 서버에 들어가서 그대로 날려주면 join 된다. docker node ls 이후에 매니저 node로 돌아와서 docker node ls 를 날리면 join된 node를 확인할 수 있다. docker swarm join-token worker 이후에 token을 잊어버렸을 경우 매니저서버에서 docker swarm join-token worker를 날리면 된다. Docker local registry 생성 후 image push 해보자 엄청난 삽질 후에 성공했다. 그냥 결론은 Docker 새로깔고 하니까 한 번에 되는데 ㅡㅡ 역시 안되면 재시작하고 새로 깔고가 진리. docs.docker.com/registry/deploying/ Deploy a registry server docs.docker.com 너무 쉬워서 할게 없다. $ docker run -d -p 5000:5000 --restart=always --name registry registry:2 docker registry 컨테이너로 띄운다. restart = always 옵션이 docker뜰때마다 새로 재시작해주는 옵션인데 저걸로 container가 안죽어서 애먹음 시작할 때 꼭 name을 설정해주자. 참고로 container restart 옵션을 바꾸려면 docker up.. 이전 1 2 3 다음