카테고리 없음

Docker 실습 해보기 1편

오직노력 2023. 4. 6. 18:24

Docker의 이미지 구동 방식에는 두 가지가 있는데,

원하는 이미지를 Docker Hub로 부터 pull해온 뒤에 run 시키거나, Dockerfile을 만들어 build 시킨 후 run 시키는

방법이 있습니다. 하나씩 실습해 보겠습니다.

1. Docker Hub로부터 이미지 pull 해온 뒤에 run 시키기

Docker Hub에서 Httpd 이미지를 pull 해옵니다.

저는 이미 내려받은 상태이기 때문에 따로 다운로드를 진행하지 않지만 처음 진행하면 다운을 진행합니다.

images 명령어로 이미지가 잘 받아와 졌는지 확인
run 명령어로 컨테이너를 생성하고 이미지를 구동시킵니다.
ps명령어로 실행중인 컨테이너를 확인

지정한 로컬 포트로 접근해 주면 컨테이너 내부의 이미지 default html이 출력됩니다.

 

만약 이 index.html을 로컬 내에 다른 html로 출력하고 싶다면

Container의 File System과 Host의 File System을 맵핑해준다.

docker run --name [컨테이너이름] -p [Host포트번호]:80 -v ~/[Host파일시스템]:[컨테이너파일시스템] httpd

httpd는 처음에 받은 이미지 이름입니다. 각자 받은 이미지 네임을 사용하면 됩니다.

항상 구동후 확인을 해줍니다.

위 과정 이해를 위해 자료를 추가해 보자면

 

위의 It Works! 는  Container 내부 File System의 index.html 주소와 맵핑되어 불러와진 것인데 우리는 Container 구동 시 로컬환경에 있는 html파일을 불러오고 싶어  Container의 File System과 Host의 File System을 맵핑해 준 것입니다.

이것을 볼륨마운트(volume mount)라고 합니다.

제가 맵핑시킨 index.html입니다. 정상적으로 맵핑이 됐다면 It works! 가 아닌 Docker Pro Wanted가 출력되어야 합니다.

두구두구...

아주 잘 적용되었습니다.

2. Dockerfile을 만들어 이미지 build 시킨 후 run 시키기

적용할 Dockerfile

적용해 볼 간단한 Dockerfile을 준비해 주고 build 명령어로 빌드해 줍니다. 

빌드시에는 Dockerfile이 존재하는 디랙토리로 이동한 후에 진행합니다.

new-httpd라는 이름으로 build 진행
build 후에 이미지 생성 확인
만들어진 image로 컨테이너 생성 및 이미지 구동
지정한 8008포트로 접속

이렇게 Docker Container로 image를 구동하는 방법을 실습해 보았는데,

두 가지 방법을 간단한 이미지로 보면 아래와 같습니다. 참고해 보시고 이상 실습 1편을 마칩니다.