반응형
1. docker-compose.yml 파일 작성
아래 내용을 포함한 docker-compose.yml 파일을 생성하세요.
version: '3'
services:
ubuntu-ssh:
image: ubuntu:latest
container_name: ubuntu_ssh
restart: unless-stopped
ports:
- "2222:22"
volumes:
- ./init.sh:/root/init.sh
command: ["bash", "/root/init.sh"]
2. init.sh 스크립트 작성
컨테이너가 시작될 때 SSH 서버를 설치하고 실행하도록 init.sh 파일을 만들고, 아래 내용을 추가하세요.
#!/bin/bash
# 패키지 업데이트 및 SSH 설치
apt update && apt install -y openssh-server
# 루트 계정 비밀번호 설정 (여기서는 'root'로 설정)
echo "root:root" | chpasswd
# SSH 설정 변경 (root 로그인 허용)
sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config
# SSH 서비스 실행
service ssh restart
# 컨테이너가 종료되지 않도록 유지
exec bash
3. 실행 권한 부여
터미널에서 실행 권한을 설정해 주세요.
chmod +x init.sh
4. 도커 컴포즈 실행
이제 컨테이너를 실행하면 SSH 접속이 가능해집니다.
docker-compose up -d
5. SSH 접속
외부에서 SSH로 접속하려면 다음 명령어를 실행하세요.
ssh root@<호스트 IP> -p 2222
호스트 IP가 192.168.1.100이라면, 다음과 같이 접속하면 됩니다.
ssh root@192.168.1.100 -p 2222
이제 SSH를 통해 우분투 컨테이너에 외부에서 접속할 수 있습니다! 🚀
반응형
':::: 개발 :::: > ::: 리 눅 스 :::' 카테고리의 다른 글
우분투 ipv6 죽이기 with nginx (0) | 2023.01.15 |
---|---|
ubuntu 우분투 리눅스 파일 이름 바꾸기 (0) | 2022.12.16 |
우분투 쉘(shell) 이란 그리고 bashrc (0) | 2022.12.14 |
집 공유기 VMware > ubuntu > ssh 접속 방법 (1) | 2020.06.30 |
도커 컴포즈 오류날때.. 지우고 지우고 재시작 port is already allocated (0) | 2020.06.03 |
centos 방화벽 포트 열기 (0) | 2020.06.01 |
elasticsearch authc 와 authz 란 (0) | 2020.05.28 |
가상 호스팅 서버 세팅중 with 워드 프레스 (0) | 2019.10.20 |