aws 서버 생성 및 PuTTY setting 보려면 이전 글 참고
2023.10.09 - [코딩] - AWS 서버 배포 - 상
Docker 설치 및 가입은 되어있다고 가정한다.
ubuntu에서 도커 설치법 -
https://docs.docker.com/engine/install/ubuntu/
1. 먼저.. 사용하는 IDE에서 Dockerfile 생성
이 코드를 삽입한다.
FROM openjdk:17-jdk
ARG JAR_FILE=build/libs/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java", "-Dspring.profiles.active=docker", "-jar", "app.jar"]
2. 빌드
build.gradle에 plain-jar 생성방지를 위해 다음과 같은 코드를 작성한다.
jar.enabled = false
그리고 터미널창에
./gradlew clean build -x test 입력
다음과 같이 jar 파일이 생성된다!
3. 도커 이미지 생성
docker build -f Dockerfile -t docker이미지이름:태그이름 .
명령어 입력
docker push docker이미지이름:태그이름 입력
docker desktop으로 보면 이렇게 생성됨.
4. putty에 들어감.
docker 설치
-1. 우분투 시스템 패키지 업데이트
sudo apt-get update
-2. 필요한 패키지 설치
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
-3. Docker의 공식 GPG키 추가
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
-4. Docker의 공식 apt 저장소 추가
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
-5. 시스템 패키지 업데이트
sudo apt-get update
-6. Docker 설치
sudo apt-get install docker-ce docker-ce-cli containerd.io
-7. Docker 설치 확인
-7.1 도커 실행상태 확인
sudo systemctl status docker
-7.2 도커 실행
sudo docker run hello-world
mysql 설치 참고
https://lucas-owner.tistory.com/47
5. 서버 접속시 입력
docker pull docker이미지이름:태그이름 입력
docker images 입력하면 가지고 있는 도커 이미지들 나옴
docker run 실행
기본 포맷:
$ docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARGS...]
$ docker run [옵션] IMAGE [명령어] [인자]
나는
docker run -d -p 8080:8080 이미지이름:태그이름
으로 입력해줬다.
-d는 백그라운드에서 실행한다는 의미고
호스트에 8080으로 접속시, 컨테이너 내부의 8080 포트로 자동 접속한다는 뜻이다.
docker ps 실행중인 컨테이너 볼 수 있음.
docker logs 컨테이너 아이디 하면 로그 볼 수 있음.
--
sudo docker run -d -p 8080:8080 이미지이름:태그이름 명령어 입력시
Unable to find image ' 이미지이름:태그이름 ' locally
docker: Error response from daemon: pull access denied for 이미지이름, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
See 'docker run --help'.
이런 오류가 뜰 수 있음
아래 참고
2023.11.13 - [코딩/Error] - [docker error] permission denied while trying to connect to the Docker daemon socketat unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/auth":dial unix /var/run/docker.sock: connect: permission denied
'코딩 > Server' 카테고리의 다른 글
CI/CD 배포 자동화 구축 (github action 이용) - 2. CD (0) | 2023.11.01 |
---|---|
CI/CD와 무중단배포란? (2) | 2023.10.31 |
CI/CD 배포 자동화 구축 (github action 이용) - 1. CI (0) | 2023.10.10 |
AWS 서버 배포 - 하 (0) | 2023.10.10 |
AWS 서버 배포 - 상 (0) | 2023.10.09 |