Docker를 사용하여 웹 애플리케이션이나 mysql 데이터베이스를 배포할 때 컨테이너가 다시 시작되면 컨테이너 실행 중에 생성된 로그나 데이터베이스 데이터가 삭제됩니다.
해결책:
Docker는 호스트 디스크 디렉터리를 마운트하여 데이터를 영구적으로 저장할 수 있습니다.
1. 컨테이너를 생성할 때 Docker Volume을 실행합니다
docker run 명령을 사용하여 Docker 컨테이너를 실행하고 ubuntu/nginx 이미지를 사용하고 로컬 디렉터리를 마운트합니다. tmp/source를 컨테이너 디렉토리/tmp/destination
docker run -itd --volume /tmp/source:/tmp/destination --name test ubuntu/nginx bash
ubuntu/nginx 기반 이미지는 Docker 컨테이너를 생성합니다.
지정된 컨테이너의 이름은 test이며 ––name 옵션으로 지정됩니다.
Docker 볼륨은 ––volume(-v로 축약 가능) 옵션으로 지정됩니다. 호스트의 /tmp/source 디렉터리는 컨테이너의 /tmp/destination 디렉터리에 해당합니다.
2. Docker 볼륨 보기
docker Inspection 명령을 사용하여 Docker 컨테이너의 자세한 정보를 확인하세요.
dockerspec --format= '{ {json .Mounts}}'test | python -m json.tool[{"Destination": "/tmp/destination","Mode": "","Propagation": "","RW": true, "Source ": "/tmp/source", "Type": "bind"}]
필요한 컨테이너 정보를 선택적으로 보려면 --format 옵션을 사용하세요. .Mount는 컨테이너의 Docker 볼륨 정보입니다.
python -m json.tool은 출력 json 문자열의 형식을 지정하고 표시할 수 있습니다.
Source는 호스트의 디렉터리인 /tmp/source 를 나타냅니다.
Destination은 컨테이너의 디렉터리인 /tmp/destination입니다.
3. 로컬 파일을 컨테이너에 동기화할 수 있습니다.
local/tmp/source 디렉터리에 새 hello.txt 파일을 생성합니다.
touch /tmp /source/hello.txtls /tmp/source/hello.txt
hello.txt 파일은 컨테이너/tmp/destination/ 디렉토리에 표시됩니다
Docker 사용 exec 명령을 사용하면 컨테이너에서 명령을 실행할 수 있습니다.
docker exectest ls /tmp/destination/hello.txt
따라서 호스트 시스템의 /tmp/source/ 디렉터리에 대한 수정 사항을 컨테이너 디렉터리인 /tmp에 동기화할 수 있습니다. /목적지 / 중간.
4. 컨테이너 파일을 호스트 시스템에 동기화할 수 있습니다
container/tmp/destination 디렉터리에 새 world.txt 파일을 생성합니다
#🎜🎜 #docker exec test touch /tmp/destination/world.txtdocker exec test ls /tmp/destination/hello.txtworld.txtworld.txt 파일은 호스트/tmp/source/ 디렉터리에 표시됩니다.#🎜 🎜#ls /tmp/source/hello.txt world.txt
더 많은 관련 튜토리얼을 보려면 PHP 중국어 웹사이트를 주목하세요
docker tutorial#🎜🎜 # 열.위 내용은 Docker를 다시 시작하면 데이터가 손실되나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Docker는 응용 프로그램을 패키지, 배포 및 실행하는 데 사용되는 Linux 컨테이너 기술 기반 도구입니다. 1) DockerBuild 및 Dockerrun 명령을 사용하여 Docker 컨테이너를 구축하고 실행할 수 있습니다. 2) DockerCompose는 마이크로 서비스 관리를 단순화하기 위해 멀티 컨테이너 Docker 응용 프로그램을 정의하고 실행하는 데 사용됩니다. 3) 다단계 구성을 사용하면 이미지 크기를 최적화하고 응용 프로그램 시작 속도를 향상시킬 수 있습니다. 4) 컨테이너 로그보기는 컨테이너 문제를 디버깅하는 효과적인 방법입니다.

Docker Container Startup 단계 : 컨테이너 이미지를 당기기 : "Docker Pull [Mirror Name]"을 실행하십시오. 컨테이너 생성 : "docker"[옵션] [미러 이름] [명령 및 매개 변수]를 사용하십시오. 컨테이너를 시작하십시오 : "Docker start [컨테이너 이름 또는 ID]"를 실행하십시오. 컨테이너 상태 확인 : 컨테이너가 "Docker PS"로 실행 중인지 확인하십시오.

Docker Logs를 보는 방법에는 다음이 포함됩니다. Docker Logs 명령 사용 : Docker Logs Container_name Docker Exec 명령을 사용하여 RUN /BIN /SH를 사용하여 로그 파일을 봅니다. cat /var/log/container_name.log docker-compose logs docker compose의 명령 : docker-compose -f docker-com 사용

단계를 따르면 Docker 컨테이너 이름을 쿼리 할 수 있습니다. 모든 컨테이너 (Docker PS)를 나열하십시오. 컨테이너 목록을 필터링합니다 (GREP 명령 사용). 컨테이너 이름 ( "이름"열에 위치)을 가져옵니다.

Docker에서 컨테이너 만들기 : 1. 이미지를 당기기 : Docker Pull [Mirror Name] 2. 컨테이너 만들기 : Docker Run [옵션] [미러 이름] [명령] 3. 컨테이너 시작 : Docker Start [컨테이너 이름]

도커 컨테이너를 종료하는 4 가지 명령 사용 Docker Kill & lt; Container_name & gt; 호스트 터미널의 명령 (힘 출구)

Docker의 외부 호스트에 파일을 복사하는 방법 : Docker CP 명령 사용 : Docker CP 실행 [옵션] & lt; 컨테이너 경로 & gt; & lt; 호스트 경로 & gt;. 데이터 볼륨 사용 : 호스트에서 디렉토리를 만들고 -V 매개 변수를 사용하여 양방향 파일 동기화를 달성하기 위해 컨테이너를 만들 때 컨테이너에 디렉토리를 장착하십시오.

Docker에서 MySQL을 시작하는 프로세스는 다음 단계로 구성됩니다. MySQL 이미지를 가져와 컨테이너를 작성하고 시작하고 루트 사용자 암호를 설정하고 포트 확인 연결을 매핑하고 데이터베이스를 작성하고 사용자는 데이터베이스에 모든 권한을 부여합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.
