change ssh image to alpine
This commit is contained in:
@@ -154,18 +154,49 @@ cd .jupyter
|
||||
cat <<"EOF" > docker-compose.yml
|
||||
services:
|
||||
jupyter:
|
||||
image: linuxserver/openssh-server
|
||||
image: alpine
|
||||
container_name: jupyter
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 0s
|
||||
network_mode: host
|
||||
volumes:
|
||||
- $HOME/.ssh:/root/.ssh
|
||||
entrypoint: ssh $USER@localhost '~/.venv/bin/jupyter lab --IdentityProvider.token=""'
|
||||
entrypoint: sh -c
|
||||
command:
|
||||
- |
|
||||
apk add openssh-client
|
||||
ssh $USER@localhost '~/.venv/bin/jupyter lab --IdentityProvider.token=""'
|
||||
EOF
|
||||
|
||||
docker compose up -d # Jupyter 서버 시작
|
||||
```
|
||||
|
||||
1. `image: alpine`: 가벼운 Alpine Linux 이미지를 사용합니다.
|
||||
|
||||
2. `container_name: jupyter`: 컨테이너 이름을 'jupyter'로 지정합니다.
|
||||
|
||||
3. `restart: unless-stopped`: 컨테이너가 중지되지 않는 한 항상 재시작합니다.
|
||||
|
||||
4. `stop_grace_period: 0s`: 컨테이너 중지 시 즉시 종료합니다.
|
||||
|
||||
5. `network_mode: host`: 호스트의 네트워크를 직접 사용합니다.
|
||||
|
||||
6. `volumes: - $HOME/.ssh:/root/.ssh`: SSH 키를 컨테이너와 공유합니다.
|
||||
|
||||
7. `entrypoint: sh -c`: 쉘 명령을 실행할 수 있게 합니다.
|
||||
|
||||
8. `command:`:
|
||||
|
||||
- `apk add openssh-client`: SSH 클라이언트를 설치합니다.
|
||||
- `ssh $USER@localhost '~/.venv/bin/jupyter lab --IdentityProvider.token=""`': SSH를 통해 Jupyter Lab을 실행합니다.
|
||||
|
||||
이 설정은 다음과 같은 이점이 있습니다:
|
||||
|
||||
- Alpine 이미지를 사용하여 가볍습니다.
|
||||
- SSH 키를 호스트와 공유하여 인증 문제를 해결합니다.
|
||||
- 호스트 네트워크를 사용하여 localhost 접근이 가능합니다.
|
||||
- 컨테이너가 자동으로 재시작되어 안정성을 높입니다.
|
||||
|
||||
```sh
|
||||
docker compose logs -f # 서버 상태 보기 & Ctrl+C로 나오기
|
||||
|
||||
@@ -173,3 +204,4 @@ cd ~/.jupyter && docker compose down # 서버 종료
|
||||
```
|
||||
|
||||
- 만약 `6. WSL background 실행`과 `9. Windows 재부팅시 Jupyter Lab 자동시작` 모두 정확히 설정되었다면 윈도우를 재부팅하고 바로 localhost:8888에 접속할 수 있게 된다.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user