Mariadb 컨테이너는 3310 대신 포트 3306을 여전히 구속하고 있습니다.
서버에 여러 개의 MariaDB Docker 컨테이너를 설치하려고 합니다.첫 번째는 3307 -> 3306 포트를 사용하는 것입니다.세컨더리는 3311 -> 3310 포트를 사용합니다.
하지만 두 번째로, 도킹선은 여전히 3306 항구를 묶고 있습니다...
도커 구성:
version: '3.7'
services:
mariadb:
image: ${MARIADB_VERSION}
restart: on-failure
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
ports:
- ${PORTS_MARIADB}
volumes:
- db:/var/lib/mysql'
container_name: ${DB_CONTAINER_NAME}
networks:
- network
networks:
network:
name: ${NETWORK}
volumes:
db:
.env.db(db 부분만):
DB_VERSION=mariadb-10.6.4
MARIADB_VERSION=mariadb:10.6.4
MYSQL_ROOT_PASSWORD=fzefzfezfze
MYSQL_DATABASE=db
MYSQL_USER=db
MYSQL_PASSWORD=fzefzezfefze
PORTS_MARIADB=3311:3310
도커 컨테이너 ls:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
81849c7db9f8 mariadb:10.6.4 "docker-entrypoint.s…" About a minute ago Up About a minute 3306/tcp, 0.0.0.0:3311->3310/tcp, :::3311->3310/tcp db_prod
이 포트를 "바인드 해제"하는 방법이 있습니까?
감사해요.
도커 이미지 자체의 「EXPOSEXPOSE.포트 3310을 포트 3311에 바인드하는 것은 다릅니다.호스트의 포트 3310에서 DB를 사용할 수 있도록 하려면 "3310:3306" 문자열을 사용해야 합니다.
간단한 설명
[Ports] 섹션에는 "AAAA:BBB"
BBB
이것은 컨테이너 내부에 노출되어 있는 포트입니다.이미지 소프트웨어는 이 포트에서 작업을 수행합니다.MariaDB의 경우 항상 포트 3306입니다.
아아아.
이것은, 여는 호스트의 포토입니다.또한 호스트에서 해당 포트에 대한 요청이 수신되면 컨테이너의 포트 BBBB와 동일합니다.
MariaDB에 기본 3306 대신 포트 3310을 사용하려면 환경 변수를 추가해야 합니다.MYSQL_TCP_PORT도커 컴파일:
environment:
...
MYSQL_TCP_PORT: 3310
언급URL : https://stackoverflow.com/questions/73443973/mariadb-container-still-binding-port-3306-instead-of-3310
'source' 카테고리의 다른 글
| Vuetify에서 의 동적 자리 표시자 텍스트를 표시하는 방법은 무엇입니까? (0) | 2023.01.15 |
|---|---|
| printStackTrace()를 피하고 대신 로거 호출을 사용합니다. (0) | 2023.01.15 |
| 다른 스크립트에서 스크립트를 호출하는 가장 좋은 방법은 무엇입니까? (0) | 2023.01.15 |
| Python 진행 표시줄 (0) | 2023.01.15 |
| Python 함수에서 두 개의 값을 반환하려면 어떻게 해야 합니까? (0) | 2023.01.15 |