기술노트

기술노트

게시물 상세
(Ubuntu 22.04) Docker 설치 및 컨테이너 구축 매뉴얼입니다.
작성자 : 관리자(marketing@ehostidc.co.kr)  작성일 : 2023-10-06   조회수 : 793

 

안녕하세요, Ubuntu 22.04 Server 에서 도커를 설치 후 이미지를 가져와 컨테이너를 생성하는 방법에 대해 다뤄보겠습니다.


1. Ubuntu APT 저장소 설정

sudo apt-get install ca-certificates curl gnupg

sudo install -m 0755 -d /etc/apt/keyrings

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

sudo chmod a+r /etc/apt/keyrings/docker.gpg

echo \

  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \

  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \

  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null



--설정 완료 후 패키지 업데이트--


--오류 발생 시 확인할 부분--

$VERSION_CODENAME 항목을 $UBUNTU_CODENAME 으로 바꿔주거나 22.04 기준 코드네임인 jammy 로 수정해주신 후 수정하시면 됩니다.



이후 apt 명령어를 이용해 docker 서비스에 필요한 패키지들을 설치합니다.


sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin



2.설치 이후 실행상태를 확인합니다.


service docker status




3.도커를 이용하여 ubuntu 22.04 이미지를 불러와보겠습니다.


docker pull ubuntu:22.04


도커 이용 도중 위와 같이 로그인이 필요하다고하면

아래 링크로 접속해서 간단하게 회원가입을 진행합니다.

https://hub.docker.com

이 때 이메일 주소로 로그인 하는 것이 아닌 입력한 Username 으로 로그인을 진행하오니 잘 기억해주세요.


회원 가입 후 아래 명령어를 입력합니다.


docker login

유저 네임과 비밀번호를 차례대로 입력해주세요.


이제 다시 돌아가서 Ubuntu 이미지를 가져와서 컨테이너에 올려 실제로 SSH 연결까지 진행해보겠습니다.

docker pull ubuntu:22.04

docker run -it -p 2232:22 --name myserver ubuntu:22.04


----

위 명령어에 들어간 옵션

-it = 컨테이너의 표준 입력(stdin), tty(가상터미널) 활성화.

-p 2232:22 = 포트 설정 부분 (외부에서 2232 포트로 접속시 컨테이너 내부의 22번 포트로 접속되게 포워딩)
(이미 22번 포트를 우분투가 사용하고 있으니까)

--name myserver = 서버의 이름

ubuntu:22.04= pull로 가져온 이미지 이름

----

해당 이미지엔 기본적인 패키지가 없기 때문에 

우선 서버에서 이미지를 가져온 후 패키지 다운로드 작업이 필요합니다.

docker run 이후 자동으로 컨테이너에 접속하게되는데, 

그 상태에서 passwd 명령어로 해당 계정의 비밀번호를 변경하신 후 


apt install -y vim ssh net-tools

등 기본적인 패키지 및 필요하신 패키지를 설치하시면됩니다.

이후 /etc/ssh/sshd_config 상에서 

#PermitRootLogin prohibit-password 

로 되어있는 부분을


PermitRootLogin yes

로 바꿔주시면 docker 컨테이너로 만든 ubuntu 환경을 ssh 로 접속하여 이용하실 수 있게 됩니다.


단 외부와의 통신의 경우 -p 를 통해 포트포워딩을 해주지 않으면 해당 포트로 통신이 되지 않으니,
외부 통신이 필요하신 경우 필요한 포트를 따로 지정해주거나
docker run 을 실행할 때 --net host 옵션을 추가하면 호스트와 동일한 네트워크를 사용하여 포트를 공유하게 만들 수 있습니다.

감사합니다.


이전글 (Ubuntu20.04) MediaWiki 1.34.2 구축하기
다음글 우분투 InfluxDB + telegraf 를 이용하여 시스템 모니터링 하기