티스토리 뷰
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
FROM ubuntu:latest
ARG DEBIAN_FRONTEND=noninteractive
ENV USER user1
ENV TZ=US/Denver
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN sed -i'' 's/archive\.ubuntu\.com/us\.archive\.ubuntu\.com/' /etc/apt/sources.list
RUN apt-get update
RUN apt-get install -y ssh openssh-server python3 python3-dev python3-pip git vim sudo
RUN mkdir /var/run/sshd
#replace sshd_config
RUN sed -ri 's/UsePAM yes/#UsePAM yes/g' /etc/ssh/sshd_config
#set sudo for $USER
RUN sed -ri '20a'$USER' ALL=(ALL) NOPASSWD:ALL' /etc/sudoers
RUN apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
#make .ssh
RUN useradd -m $USER
RUN mkdir /home/$USER/.ssh
RUN chown $USER.$USER /home/$USER/.ssh
RUN chmod 700 /home/$USER/.ssh
#set password
RUN echo 'root:root' |chpasswd
RUN echo $USER':1234' |chpasswd
EXPOSE 22
EXPOSE 80
EXPOSE 443
CMD ["/usr/sbin/sshd", "-D"]
|
cs |
- 패키지 설치
- 8 번째 줄 : 캐시 관련해서 apt update 오류나는 문제 때문에 우분투 아카이브 서버 DNS 수정
- 10 ~ 11 번째 줄
- ssh 관련 설정
- 15 번째 줄 : PAM 사용 해제
- 23 ~ 27 번째 줄 : ssh-keygen 설정 때문에 추가
- 33 번째 줄 : 기본 포트인 22번 포트 expose
- python 설치 및 git 관련 설정
- 3 번째 줄 : tzdata 때문에 문제 발생해서 추가
- 6 ~ 7번째 줄 : 역시 동일
- sudo 관련 설정
- 17 ~ 18 번째 줄 : sudoers 파일의 대충 20번째 줄에 권한 상승관련 설정있어서 여기에 추가
- 기타 설정
- 4 번째 줄 : 작업을 위해 새로 추가할 사용자명
- 29 ~ 31번째 줄 : 패스워드 설정
- 34 ~ 35번째 줄 : 웹 관련 작업을 위해 80, 443번 포트 추가 expose
- 37 번째 줄 : ssh 데몬 실행
컨테이너 생성 결과
ssh 관련 오류 참고
컨테이너 계속 갈아엎고 하다 보면 아래 사진처럼 이렇게 오류나면서 ssh 접속 오류나는 경우가 있을 수 있다.
해결 방법은 그냥 .ssh의 known_hosts 파일을 날려버리면 된다.
'Cloud > Docker' 카테고리의 다른 글
[docker-compose] 개인 로컬 작업용 gitlab (1) | 2023.02.25 |
---|---|
[Docker] ElasticSearch docker-compose 예시 (0) | 2022.11.08 |
VM 게스트에서 Docker Container 인터넷이 안 될 때 (0) | 2018.03.15 |
댓글