서버개발

[Docker] Docker 기본 명령어 및 스프링 어플리케이션 배포(기록용)

이전 개인 프로젝트 도커화를 위한 기록용

linux환경에 docker 설치

sudo yum update
sudo yum install docker-io y
// y는 자동으로 대답해주는 옵션

docker version

sudo systemctl start docker -> permissiondenied(sudo로 해결)

// 권한 부여
sudo setfacl -m user:ec2-user:rw /var/run/docker.sock

// 도커 이미지 목록
docker images

// 도커 이미지 받아오기(버전 생략시 lastest가 붙은 버전을 가져온다)
docker pull nginx

// 도커 실행시 이름은 nginx로 포트는 도커와 클라이언트에서 둘다80 -d 백그라운드로 
docker run --name "컨테이너명" -p 80:80 -d "이미지명"
// 난수는 컨테이너의 고유 id

// 도커 종료
docker stop "컨테이너명"

// 실행중인 도커 컨테이너 확인
docker ps

// 도커 컨테이너 입장 - 프롬포트 창으로
docker exec -it nginx /bin/bash

// 새로운 이미지로 커밋
docker commit nginx soma-nginx

vi Dockerfile
docker build
// .은 해당 폴더의 dockerfile을 통해 만들겠다는 뜻ㅎ
docker build -t soma-nginx3 .

git clone https://github.com/ceo-nomadlab/docker.git
//배포는 도커 허브에서

FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD docker/target/docker-0.0.1-SNAPSHOT.jar  app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-Dspring.profiles.active=dev","-jar","/app.jar"]

docker build -t springboot .

docker login

docker tag springboot lsb7127/my-spring-boott
docker push lsb7127/my-spring-boot:tagname

lsb7127/my-spring-boot:latest

docker pull