개발/Docker

Docker Ubuntu 세팅하기

int iron 2024. 10. 6. 23:33

Ubuntu 이미지를 이용하여 테스트 리눅스 세팅하기

ubuntu official docker image

Ubuntu 이미지는 공식 이미지가 있으므로 이것을 가져다 사용하면 된다.

공식 이미지에 적혀있듯이

docker pull ubuntu

를 진행하면 되지만 이 경우 가장 최신버전 이미지를 가져오게 된다. 20.04버전을 사용하고 싶으므로

docker pull ubuntu:20.04

를 사용하여 이미지를 받을 예정이다.

docker image ps 또는 docker images를 alias한 나만의 축약어

보는것과 같이 ubuntu 20.04를 받아 온 것을 알 수 있다.

이것을 이제

docker run --name 컨테이너이름 -itd -p사용할ssh포트번호:22 ubuntu:20.04
docker exec -it 컨테이너이름 bash

명령어를 통해 컨테이너를 실행하고 접속하여 준다.

그러면

깡통 ubuntu

해당 컨테이너에 접속 할 수 있는데 이때 이 우분투는 깡통이라 sudo, ssh, vi, vim, nano 등 다 없고 실제로 많은 것들이 없다. 그러므로

apt update
apt install "기본적으로 필요하다 생각되는 것들" -y

을 통해 설치를 진행해주어야 한다.

커스텀 세팅이 끝난 Ubuntu 이미지를 만들기

그리고 매번 exec로 접속하는 것이 불편하니 ssh를 사용하기 위해 .ssh폴더도 만들어 주는 등 ubuntu 와 같은 세팅을 하면 되는데 이때 systemctl은 사용 못하고 service를 써야 하는데 enable을 사용 할 수 없으니 만약 컨테이너 종료했다가 실행해야 하면 컨테이너 실행 시 실행되는 쉘스크립트와 설정파일이 따로 있으므로 해당 파일을 수정해 주어야 한다.

그 후 해당 설정을 기본 세팅으로 생각하고 추후에 컨테이너를 다시 지웠다가 띄울 상황(설정 잘못 건드렸다가 날아간다던가...)이 발생했을 경우를 대비해

docker commit를 진행하여 이미지를 만들어주자

docker commit 컨테이너_이름(ID) 만들_이미지_이름:tag

docker commit 진행
mybuntu이미지의 v0.1버전 생성

이러면 기본세팅이 끝난 우분투를 언제든지 컨테이너로 만들 수 있고 또 추가적인 갱신이 생기면 해당 작업을 통해 저장할 수 있다.

여기서 push까지 진행하면 악성이.... 크흠 우리는 오피셜 또는 오피셜 이미지를 자신이 커스텀한 것만 쓰자

:wq