티스토리 뷰
독립된 환경에서 구축된 컨테이너들을 어떻게 연동할것인가?
한 컨테이너에 모든 프로그램을 넣어 작업하면 손쉽게 할 수 있지만, 이건 도커를 쓰는 이유가 없어진다고 생각한다.
즉, 도커 컨테이너를 사용하여 컨테이너끼리 요청을 주고 받을 수 있는 연동이 필요하다.
그 연동을 위해 사용되는 것이 network 명령어이다.
network ... 인터넷이 제일 처음 생각나는데, 단어의 뜻 '관계'를 고려하면 보다 잘 이해할 수 있다고 생각한다.
즉, 컨테이너 간의 관계를 설정하여 서로 요청/데이터를 주고 받는것이다.
여기서는 워드프레스 와 Mysql 간 연동을 예제로 해볼것이다.
네트워크 생성 > 컨테이너 생성 > 연결 순으로 진행하겠다.
1. 네트워크 생성
도커에서 네트워크 생성도 엄청 간단하다. docker network create test_network 를 실행하여 하나 만들어 보겠다.
이처럼 기존 network 에 추가로 test_network가 생성 된 것을 볼 수 있었다.
2.컨테이너 생성
일단 mysql 컨테이너를 생성해보자.
docker run --name mysql_test -dit --net=test_network -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=my_
database -e MYSQL_USER=sim -e MYSQL_PASSWORD=sim mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password
이와같이 옵션과 인자가 많은 것을 볼 수 있는데,
-dit는 -d(백그라운드 실행) -i(컨테이너 터미널 조작) -t(특수키 사용) 이며
--net 은 어느 network에 들어갈지이고,
-e 에 관련된 것은 모두 mysql 환경변수를 설정하기 위함이다.
설치를 진행해주면 이와같이 나오게 된다.
이후 워드프레스 컨테이너를 설치하자.
docker run --name wordpress_test -dit --net=test_network -p 8085:80 -e WORDPRESS_DB_HOST=mysql_test -e WORDPRESS_DB_NAME=my_database -e WORDPRESS_DB_USER=sim -e WORDPRESS_DB_PASSWORD=sim wordpress
이런식으로 설정하여 컨테이너를 만들어 주었다. 여기서 주의할 점은..
wordpress 의 환경변수 설정 값이다.
WORDPRESS_DB_HOST : DB컨테이너 이름을 넣어라 (즉, mysql --name 으로지정한 값)
WORDPRESS_DB_NAME: DB이름을 넣어라 (즉, MYSQL_DATABASE 지정 값)
WORDPRESS_DB_USER :유저를 넣어라(즉, MYSQL_USER 지정 값)
WORDPRESS_DB_PASSWORD : 유저 패스워드를 넣어라 (즉, MYSQL_PASSWORD 지정값)
만 잘 넣어주면 된다. 그 후 컨테이너를 살펴보면
이와같이 2개의 컨테이너가 생긴 것을 볼 수 있고, network도 확인해보자.
이런식으로 나오는데 컨테이너 2개가 하나의 network에 속한 것을 볼 수 있다.
이제 wordpress에서 설정한 포트로 한번 웹 서버로 접근해 보자.
localhost:8085로 설정을 했으니.. 접속을 해보면..
이와 같이 wordpress 초기 화면이 나와야 성공이다..! 혹시 해당 화면이 안나온다면.. 아마 wordpress 컨테이너 만들때 환경변수가 올바르게 들어갔는지 확인해보는 것이 좋겠다.
이후 실습을 종료하고 컨테이너, 네트워크를 삭제해주는 것도 잊지말자.
+추가)
이 화면은 wordpress의 환경변수 설정을 잘 못 했을때 나오는 화면이다. 이러한 화면이 있다면.. 위에 wordpress 환경변수에 어떠한 값을 넣어야 하는지 다시 한번 보고 수정해야 할 것이다.
'깃(Git) & 도커(Docker)' 카테고리의 다른 글
[부가] 도커(docker) 컨테이너 터미널 접속 (0) | 2022.09.12 |
---|---|
6. 도커(docker) 파일 복사 이동 (0) | 2022.09.12 |
4. 도커(docker) 이미지 삭제 (0) | 2022.09.12 |
3. 도커(docker) 컨테이너 통신 (0) | 2022.09.12 |
2. 도커(docker) 컨테이너 생성 & 실행 /중지 /제거 (0) | 2022.09.12 |
- Total
- Today
- Yesterday
- 정리
- python
- 티스토리챌린지
- 욜로
- 오블완
- 오류
- 백준
- docker
- Tree
- YOLOv8
- 도커
- 자바
- GNN
- 알고리즘
- 깃
- 어탠션
- c3k2
- 뜯어보기
- 딥러닝
- GIT
- DeepLearning
- yolov11
- 이미지
- 초보자
- java
- CNN
- 디텍션
- github
- V11
- YOLO
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |