μ격μμ μμ°μ± ν₯μμ μνμ¬
- λ―Έλμ λλ₯Ό μν΄ .. μ격μμ
μ ν λ μκ°κ³Ό λ
Έλ ₯μ μ μ½ν΄μ€ μ μλ λ°©λ²λ€μ λν΄ μ 리ν΄λ³Έλ€.
- ssh μ μ ν λ°±κ·ΈλΌμ΄λμμ μ€ν ν λΉ μ Έλμ€κΈ°
- directory mount μ vscodeλ₯Ό μ΄μ©
1. Using tmux: ssh μ μ ν λ°±κ·ΈλΌμ΄λμμ μ€ν ν λΉ μ Έλμ€κΈ°
- (μ£Όλ‘ μκ°μ΄ μ€λ걸리λ) shell script λ₯Ό μ€νμ μμμν€κ³ , λΉ μ Έλμ€κΈ° μν΄ μ¬μ©μ€μ΄λ€.
- κ·Έ μ€μμλ, λ컀 컨ν μ΄λμ tmux λ₯Ό μ΄μ©ν λ°©λ²μ μ¬μ© μ€μ΄λ€.
- μμ½νλ©΄ λ€μκ³Ό κ°λ€.
- docker μμμλ tmux λ₯Ό λνμΉλͺ¨λλ‘ μ€ννλ€.
- docker λ₯Ό λνμΉνλ€.
- sshλ‘ μ μν terminalμ exitνλ€.
- Detail:
- μλ₯Ό λ€μ΄ (컀맨λμμ),
$ ssh {ID}@{IP}
$ # λ컀컨ν μ΄λ μ€ν, μλ₯Ό λ€μ΄ $ docker run ...
$ tmux new-session -d -A -s {process_name} {command}
- μ΄ λ
command
λ μλ₯Ό λ€μ΄sh your_cmd.sh
κ°μκ² λ μ μκ² λ€.
- μ΄ λ
- μ¬κΈ°κΉμ§ νλ©΄ λ컀 컨ν μ΄λ μμμ tmux process κ° background λ‘ μ€νλλ€.
$ tmux ls
νλ©΄ λ°©κΈ μ€νν tmux process κ° μ‘΄μ¬νλμ§ νμΈν μ μλ€.$ tmux attach -t {process_name}
νλ©΄ λ°©κΈ μ€νν νλ‘μΈμ€μ λ€μ λ€μ΄κ°μ, κ±°κΈ°μμ λμ€λ stdout μΆλ ₯μ λ³Ό μ μλ€.- λ€μ λΉ μ Έλκ°λ €λ©΄ control+b μ΄ν d λ₯Ό ν΄μ£Όλ©΄ λλ€.
- λ°λΌμ λ컀 컨ν
μ΄λλ₯Ό μ΄μ λνμΉ(==λ°±κ·ΈλΌμ΄λλ‘ μ€ννλλ‘ λλκ³ λμ€κΈ°) ν΄μ£Όλ©΄ λλ€. λν΄νΈλ‘λ control+p+q λ₯Ό ν΄μ£Όλ©΄ λΉ μ Έλμ¬ μ μλ€.
- λ€μ λ€μ΄κ°κ³ μΆμΌλ©΄
$ docker exec -ti {your_ps_id} bash
ν΄μ£Όλ©΄ λλ€ (μ΄ λ the ps id λdocker ps
νλ©΄ μ μ μλ€).
- λ€μ λ€μ΄κ°κ³ μΆμΌλ©΄
- μλ₯Ό λ€μ΄ (컀맨λμμ),
- μμ
μ΄ λ€ λλλ©΄ mount ν directory μμ λ°λ‘ νμΌμ copy ν΄μλ λκ³ ,
νΉμ$ scp -r {ID}${IP}:{ABSOLUTE_PATH} {YOUR_LOCAL_PATH}
μ κ°μ΄ 볡μ¬ν΄μμ κ²°κ³Όλ¬Όμ νμΈν μ μκ² λ€.
2. vscodeβs remote-ssh
- μ격μμ μ½λλ₯Ό λΉ λ₯΄κ² νμ΄λ³΄κ³ μμ±νκ³ μμ ν λ, Remote-SSH λ₯Ό μ¬μ©νλ€. κ·Έλ¬λ©΄ μ격μ§μ ν΄λλ₯Ό vscode μμ λ°λ‘ λ§μ΄νΈν μ μλ€.