feat: [academy] Docker 명령어 페이지 추가
- Docker 기본 확인/컨테이너 제어/진입&실행/로그/Compose/볼륨&네트워크/트러블슈팅/위험명령어 8개 섹션 - SAM 전용 docker exec 패턴 표 포함 - 용어집 23개 항목 추가
This commit is contained in:
@@ -53,6 +53,15 @@ public function dockerEnvironment(Request $request): View|Response
|
||||
return view('academy.docker-environment');
|
||||
}
|
||||
|
||||
public function dockerCommands(Request $request): View|Response
|
||||
{
|
||||
if ($request->header('HX-Request')) {
|
||||
return response('', 200)->header('HX-Redirect', route('academy.docker-commands'));
|
||||
}
|
||||
|
||||
return view('academy.docker-commands');
|
||||
}
|
||||
|
||||
public function webBasics(Request $request): View|Response
|
||||
{
|
||||
if ($request->header('HX-Request')) {
|
||||
|
||||
1004
resources/views/academy/docker-commands.blade.php
Normal file
1004
resources/views/academy/docker-commands.blade.php
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
||||
{{--
|
||||
Academy Glossary Tooltip Component
|
||||
@include('components.academy-glossary', ['domain' => 'fire-shutter'])
|
||||
도메인: fire-shutter | it-planning | server-knowledge | frontend-dev | docker-environment | backend-dev | web-basics | env-management | nginx-encyclopedia
|
||||
도메인: fire-shutter | it-planning | server-knowledge | frontend-dev | docker-environment | docker-commands | backend-dev | web-basics | env-management | nginx-encyclopedia
|
||||
--}}
|
||||
|
||||
@push('styles')
|
||||
@@ -373,6 +373,32 @@
|
||||
"error_log": "Nginx 오류 및 경고를 기록하는 로그 파일. 설정 오류, 백엔드 연결 실패 등이 기록된다.",
|
||||
"nginx -t": "Nginx 설정 파일의 문법 오류를 검사하는 명령어. 설정 변경 후 반드시 실행하여 오류를 확인해야 한다."
|
||||
};
|
||||
@elseif($domain === 'docker-commands')
|
||||
window.__GLOSSARY_DATA['docker-commands'] = {
|
||||
"docker ps": "실행 중인 컨테이너 목록을 보여주는 명령어. -a를 붙이면 중지된 컨테이너까지 표시한다.",
|
||||
"docker exec": "실행 중인 컨테이너 안에서 명령을 실행하는 명령어. SAM에서 php artisan 명령을 실행할 때 필수로 사용한다.",
|
||||
"docker logs": "컨테이너가 출력한 로그를 확인하는 명령어. -f로 실시간 추적, --tail로 최근 N줄만 볼 수 있다.",
|
||||
"docker start": "중지된 컨테이너를 다시 시작하는 명령어.",
|
||||
"docker stop": "실행 중인 컨테이너를 안전하게 중지하는 명령어. 프로세스에 종료 신호를 보낸다.",
|
||||
"docker restart": "컨테이너를 중지 후 즉시 다시 시작하는 명령어. stop + start를 한 번에 실행하는 것과 같다.",
|
||||
"docker images": "로컬에 저장된 Docker 이미지 목록을 보여주는 명령어. 이미지는 컨테이너를 만들기 위한 설계도이다.",
|
||||
"docker compose up": "docker-compose.yml에 정의된 모든 서비스를 한 번에 생성하고 시작하는 명령어. -d로 백그라운드 실행.",
|
||||
"docker compose down": "Compose로 생성된 모든 컨테이너를 중지하고 제거하는 명령어. -v를 붙이면 볼륨까지 삭제되므로 주의.",
|
||||
"docker compose ps": "Compose로 관리되는 서비스들의 상태를 보여주는 명령어.",
|
||||
"docker compose logs": "Compose 서비스의 로그를 확인하는 명령어. 서비스 이름을 지정하여 특정 서비스만 볼 수 있다.",
|
||||
"docker compose restart": "Compose 서비스를 재시작하는 명령어. 서비스 이름을 지정하면 해당 서비스만 재시작한다.",
|
||||
"-it 플래그": "-i(interactive)와 -t(tty)를 합친 옵션. 키보드 입력이 필요한 대화형 프로그램(bash, tinker 등) 실행 시 필수.",
|
||||
"--tail": "로그 출력을 최근 N줄로 제한하는 옵션. docker logs --tail 50처럼 사용한다.",
|
||||
"-f (follow)": "실시간으로 새 로그를 계속 출력하는 옵션. docker logs -f로 사용하며 Ctrl+C로 종료한다.",
|
||||
"--since": "지정한 시간 이후의 로그만 출력하는 옵션. --since 30m(30분), --since 2h(2시간) 형태로 사용한다.",
|
||||
"-d (detached)": "컨테이너를 백그라운드에서 실행하는 옵션. docker compose up -d로 주로 사용한다.",
|
||||
"볼륨(Volume)": "컨테이너 데이터를 영구적으로 저장하는 Docker 관리 저장소. 컨테이너 삭제 후에도 데이터가 유지된다.",
|
||||
"docker volume ls": "생성된 Docker 볼륨 목록을 보여주는 명령어.",
|
||||
"docker network ls": "생성된 Docker 네트워크 목록을 보여주는 명령어.",
|
||||
"samnet": "SAM 프로젝트의 Docker 브리지 네트워크. 모든 컨테이너가 이 네트워크로 서로 통신한다.",
|
||||
"docker system prune": "사용하지 않는 Docker 리소스(컨테이너, 이미지, 네트워크)를 일괄 삭제하는 명령어. -a 옵션은 위험.",
|
||||
"docker-compose.yml": "Docker Compose의 설정 파일. 서비스, 볼륨, 네트워크 등을 YAML 형식으로 정의한다."
|
||||
};
|
||||
@elseif($domain === 'env-management')
|
||||
window.__GLOSSARY_DATA['env-management'] = {
|
||||
".env": "환경 변수를 저장하는 설정 파일. DB 접속 정보, API 키 등 환경마다 달라지는 값을 관리한다.",
|
||||
|
||||
@@ -1487,6 +1487,7 @@
|
||||
Route::get('/server-knowledge', [\App\Http\Controllers\AcademyController::class, 'serverKnowledge'])->name('server-knowledge');
|
||||
Route::get('/frontend-dev', [\App\Http\Controllers\AcademyController::class, 'frontendDev'])->name('frontend-dev');
|
||||
Route::get('/docker-environment', [\App\Http\Controllers\AcademyController::class, 'dockerEnvironment'])->name('docker-environment');
|
||||
Route::get('/docker-commands', [\App\Http\Controllers\AcademyController::class, 'dockerCommands'])->name('docker-commands');
|
||||
Route::get('/web-basics', [\App\Http\Controllers\AcademyController::class, 'webBasics'])->name('web-basics');
|
||||
Route::get('/backend-dev', [\App\Http\Controllers\AcademyController::class, 'backendDev'])->name('backend-dev');
|
||||
Route::get('/env-management', [\App\Http\Controllers\AcademyController::class, 'envManagement'])->name('env-management');
|
||||
|
||||
Reference in New Issue
Block a user