본문 바로가기
가상화 기술과 관리/Docker

Docker - Java 개발자를 위한 완벽 실습 과정 노트정리2 (도커 네트워크)

by so5663 2024. 1. 13.

나의 실습환경

- aws ec2 리눅스 환경

- putty

 

docker 네트워킹

 

docker container run -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=fleetman -d mysql:5

docker container exec -it [containerID or containerName] bash

mysql -uroot -ppassword

show databases;
  • -e MYSQL_DATABASE=fleetman --> fleetman 이라는 데이터베이스 생성

결과 화면

 

도커 컨테이너이름을 도메인 이름으로 연결할수 있음
몇가지 단계가 필요

 

docker network create my-network

docker network ls

--> --network my-network로 내가 생성한 네트워크에 설정 및 컨테이너 이름 지정
docker container run --network my-network --name database -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=fleetman -d mysql:5 -- 데이터베이스 실행

docker container run -d -p 80:8080 --network my-network --name fleetman-webapp fleetman-webapp -- 웹 실행

docker container exec -it [containerID] sh -- 웹 컨테이너에 접속

연결됬는지 확인
ping database --> 컨테이너 이름이 database 연결 확인
ping google.com

결과 화면

 

 

 

 

docker build -t my_image:prod -f Dockerfile-jar-version . -- 도커 파일 이름 강제로 지정할때 사용

- 파일이름이 Dockerfile-jar-version

 

FROM openjdk:8u131-jdk-alpine

EXPOSE 8080

WORKDIR /usr/local/bin/

COPY target/fleetman-0.0.1-SNAPSHOT.jar webapp.jar

CMD ["java","-Dspring.profiles.active=docker-demo","-jar","webapp.jar"]

 

 


docker container run -it --network my-network alpine -- 3번째 컨테이너

alpine 명렁어
apk add --no-cache mysql-client -- mysql 설치
mysql -uroot -ppassword -hdatabase

mysql 명령어
show databases;
use fleetman;