컨테이너와 컨테이너를 연결하기 위해서는 가상 네트워크를 만들고 이 네트워크에 컨테이너를 소속시켜 컨테이너들을 연결해야한다.
1. 사용자 정의 네트워크 생성
docker network create redmine-network
2. MySQL 컨테이너 실행
→ 레드미안은 데이터를 저장하기 위해 MySQL 데이터 베이스를 사용하므로, 먼저 데이터 베이스를 준비한다.
docker run --name some-mysql --network redmine-network -e MYSQL_ROOT_PASSWORD=my-secret-pw -e MYSQL_DATABASE=redmine -d mysql:8
3. 레드마인 컨테이너 실행
MySQL 데이터베이스에 연결된 레드마인 컨테이너를 실행한다.
레드마인 컨테이너 역시 사용자 정의 네트워크에 연결해야 한다.
docker run --name some-redmine --network redmine-network -e REDMINE-DB-MYSQL=some-mysql -e REDMINE_DB_PASSWORD = my-secret-pw -p 3000:3000 -d redmine
http://localhost:3000 에 접속해보면 위와 같은 화면을 볼 수 있다. 
Docker Desktop에서 확인하면 이렇다. .
도커 네트워크는 컨테이너간 통신과 외부 네트워크와의 연결을 관리하는 기능이다.

https://www.docker.com/blog/understanding-docker-networking-drivers-use-cases/
브릿지 네트워크는 도커 컨테이너들이 동일한 호스트 내에서 서로 통신할 수 있는 기본 네트워크 타입이다.
bridge라는 이름의 브릿지 네트워크가 생성된다. 이를 기본 브릿지 네트워크라고 한다.-p 또는 --publish 옵션을 사용하여 호스트와 특정 포트를 연결하지 않는 이상 외부 네트워크와 직접 통신할 수 없다.docker network create 명령어를 사용해 브릿지 네트워크를 생성할 수 있다.호스트 네트워크를 사용하면 컨테이너가 호스트의 네트워크 스택을 직접 사용할 수 있다. 이 방식을 사용하면 컨테이너는 네트워크 격리 없이 호스트와 동일한 네트워크 환경을 공유한다.
→ 네트워크 격리보다 네트워크 성능을 우선시하는 경우에 적합하다. EX) 고성능 웹 서버
오버레이 네트워크는 여러 도커 호스트에 걸쳐 있는 컨테이너 간의 통신을 가능하게 한다. 이 네트워크는 스웜모드에서 클러스터링된 도커 환경을 위해 설계되었다
→ 대규모 웹 애플리케이션을 실행 할 때, 트래픽을 여러 서버에 분산시켜야 할 경우 사용된다.
+) 스웜모드 : 도커를 클러스터로 구성하여 여러 서버를 하나의 큰 시스템처럼 동작하게 한다.
컨테이너에 별도의 MAC 주소를 할당하여, 물리 네트워크에 직접 연결된 것처럼 만든다.
→ 이를 통해 컨테이너가 네트워크 상에서 물리적인 장치처럼 동작할 수 있다.
→ 컨테이너가 물리 네트워크 상의 다른 장치들과 통신해야 하는 경우에 사용한다.