8-1. 도커 네트워크
일반적인 웹 사이트는 위의 사진과 같은 모양을 띄고 있습니다.
여러 종류의 서버가 연동되어 각자의 역할을 하는 것이죠.
가령 웹 서버가 처리한 것을 필요에 따라 데이터베이스에 저장하는 식으로요.
지금까지 배워 온 것에 기초한다면, 이것은 이렇게 비유할 수 있겠습니다.
'여러 컨테이너 간의 연동'이요.
그리고 그걸 하기 위해 필요한 것이 '도커 네트워크'입니다.
8-2. 도커 네트워크 생성과 삭제
도커 네트워크를 생성하는 커맨드는 다음과 같습니다.
docker network create [OPTIONS] NETWORK
또, 도커 네트워크를 삭제하는 커맨드는 다음과 같습니다.
docker network rm NETWORK [NETWORK...]
https://docs.docker.com/engine/reference/commandline/network/
더 자세한 정보와 옵션은 위의 문서를 참고해주시고요.
8-3. 도커 네트워크를 이용한 컨테이너의 연동
이번에는 두 개의 컨테이너를 이용하여 연동하는 과정을 다루려고 합니다.
여기서는 워드프레스와 MySql을 가지고 실습해보도록 하겠습니다.
순서는 이렇습니다.
그럼 먼저 도커 네트워크부터 생성해보죠.
docker network create network_ex1
생성된 네트워크를 확인해봐야겠죠?
docker network ls
제대로 생성된 것을 볼 수 있네요.
그럼 이번에는 MySql 컨테이너를 생성해보겠습니다.
생성하기 전에 고려해야 될 것이 2개 있는데요.
우선, 컨테이너를 생성할 때 네트워크에 포함시키는 명령어는 '--net= 네트워크 이름'입니다.
기본적인 옵션에 대해서는 아래의 포스팅을 한번 더 참고 바랍니다.
https://thisisnew-storage.tistory.com/70
그리고 MySql 이미지의 고유 옵션은 아래의 문서에서 확인할 수 있습니다.
https://hub.docker.com/_/mysql
이것들을 참고하여 만든 최종 커맨드는 다음과 같습니다.
docker run --name mysql_ex1 -dit --net=network_ex1 -e MYSQL_ROOT_PASSWORD=myrootpass -e MYSQL_DATABASE=mydb -e MYSQL_USER=admin -e MYSQL_PASSWORD=1234 mysql
제대로 생성되었는지 확인해 봐야죠.
docker ps
마찬가지 방법으로 워드프레스 컨테이너도 만들어 보겠습니다.
https://hub.docker.com/_/wordpress
만들기 전에 워드프레스 이미지의 옵션 먼저 확인하고요.
최종적인 커맨드는 다음과 같습니다.
docker run --name wordpress_ex1 -dit --net=network_ex1 -p 8080:80 -e WORDPRESS_DB_HOST=mysql_ex1 -e WORDPRESS_DB_NAME=mydb -e WORDPRESS_DB_USER=admin -e WORDPRESS_DB_PASSWORD=1234 wordpress
잘 만들어졌는지 봐야겠죠?
docker ps
네. 잘 만들어졌네요. 그러면 8080 포트로 한번 접근해보도록 하죠.
브라우저에 http://localhost:8080/을 입력하여 접속을 해봅니다.
잘 되네요.
이로써 두 개의 컨테이너를 하나의 네트워크로 연결해봤습니다.
8-4. 마무리
실습이 끝났으니 컨테이너부터 네트워크, 이미지까지 종료하고 삭제하면 되겠습니다.
먼저 컨테이너를 확인하고요.
docker ps
그다음 컨테이너 종료.
docker stop wordpress_ex1 mysql_ex1
제대로 종료했는지 봐야겠죠?
docker ps -a
둘 다 Exited 상태네요. 제대로 종료되었습니다.
종료한 컨테이너는 삭제해줍니다.
docker rm wordpress_ex1 mysql_ex1
이번에도 제대로 삭제되었는지 확인해줍니다.
이번에는 이미지를 삭제하도록 하죠.
docker image ls
docker image rm mysql wordpress
이미지가 제대로 지워졌는지 확인해야죠.
네. 잘 지워졌네요.
마지막으로 네트워크도 삭제하도록 하겠습니다.
docker network rm network_ex1
이렇게 도커 네트워크를 해봤습니다.
Docker - 바인드 마운트 (0) | 2022.11.17 |
---|---|
Docker - 스토리지 (0) | 2022.11.16 |
Docker - 이미지 조회와 삭제 (0) | 2022.11.14 |
Docker - 컨테이너의 통신 (0) | 2022.11.14 |
Docker - 컨테이너의 기본적인 사용법 (생성부터 삭제까지) (0) | 2022.11.13 |
댓글 영역