도커 컨테이너 실행 후 mysql 데이터 소유권이 systemd-journal-remote로 변경된 이유
mysql 데이터베이스가 저장되어 있습니다./home/mysql대신/var/lib/mysql. 이전에 소유했던 디렉토리mysql단, 명령어를 실행하면docker-compose up다음 yml 파일을 사용합니다.
version: '3'
services:
mariadb:
image: mariadb
restart: always
volumes:
- /home/mysql:/var/lib/mysql
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:5.6.4
environment:
- "ES_JAVA_OPTS=-Xms750m -Xmx750m"
- bootstrap.memory_lock=false
site:
build: .
volumes:
- "./app:/app"
links:
- mariadb:mysql
environment:
- DOCKER_IP=172.19.0.2
depends_on: ['elasticsearch','mariadb']
ports:
- "3000:3000"
도커 컨테이너는 실행할 수 있지만 폴더와 파일 전체가/home/mysql소유하다systemd-journal-remote이 때문에,node서버가 에 접속할 수 없다.mariadb도커 인스턴스를 중지하고 mysql 폴더 소유권을 복원하고 삭제해야 합니다.ib_logfile0그리고.ib_logfile1.
마운트하는 이유/home/mysql그런 치명적인 문제를 일으키는 걸까요?
업데이트:
제 해결책은 다음과 같이 추가하는 것입니다.user: "mysql":
version: '3'
services:
mariadb:
image: mariadb
restart: always
volumes:
- /home/mysql:/var/lib/mysql
user: "mysql"
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:5.6.4
environment:
- "ES_JAVA_OPTS=-Xms750m -Xmx750m"
- bootstrap.memory_lock=false
site:
build: .
volumes:
- "./app:/app"
links:
- mariadb:mysql
environment:
- DOCKER_IP=172.19.0.2
depends_on: ['elasticsearch','mariadb']
ports:
- "3000:3000"
도커의 컨테이너는--user파라미터를 지정합니다.이렇게 하고 동일하게 설정하면uid:gidMySQL 스토리지의 소유자로서 권한에 문제가 없습니다.일반 명령줄 실행 예제를 보여 주기 때문에 Docker Compose에서 이 작업을 수행하는 방법을 정확히 확인해야 합니다.
아마도 그렇 것입니다,uid사용자의systemd-journal-remote와 같다uid사용자의mysqld컨테이너에 넣어주세요.확인하다ls -n혼동을 피하기 위해 common을 사용합니다.uids, 아마도 로서root:root와 함께chmod o+rwx.
언급URL : https://stackoverflow.com/questions/47265916/why-did-mysql-data-ownership-change-to-systemd-journal-remote-after-running-a-do
'programing' 카테고리의 다른 글
| store/index.js의 내보내기 외부 상태에 액세스하는 방법 (0) | 2022.11.04 |
|---|---|
| JavaScript 어레이를 쉼표로 구분된 목록으로 쉽게 변환할 수 있습니까? (0) | 2022.11.04 |
| 데이터베이스 스키마를 어떻게 버전화합니까? (0) | 2022.11.04 |
| 스트링 내추럴 소트 기능이 내장되어 있나요? (0) | 2022.11.04 |
| 함수를 호출할 때 "throws Exception"이 필요한 이유는 무엇입니까? (0) | 2022.11.04 |