방명록
- [Network | Docker] 컨테이너 외부 노출2024년 06월 30일 21시 32분 14초에 업로드 된 글입니다.작성자: 이주여이
1. 호스트 포트와 바인딩할 컨테이너 생성하기
Ubuntu
docker pull ubuntu:latest # ubuntu 최신 버전 다운로드 docker images # 다운로드한 이미지 확인 docker run -it --name ubuntu -p 80:80 ubuntu:latest apt-get update apt-get install apache2 -y # apache 설치 service apache2 start # apache 실행
Rocky Linux
docker pull rockylinux:9.3 # ubuntu 최신 버전 다운로드 docker images # 다운로드한 이미지 확인 docker run -it --privileged --name rockylinux -p 8081:80 rockylinux/rockylinux /usr/sbin/init docker exec -it rockylinux /bin/bash # shell 모드 접속 yum install httpd systemctl start httpd systemctl status httpd systemctl enable httpd
-i
- interactive / 표준 입력을 활성화하여 사용자가 컨테이너와 상호 작용할 수 있게 도와준다.-t
- 가상 터미널을 할당하여 shell 모드 진입을 도와준다.-d
- 컨테이너를 백그라운드에서 실행시킨다.--privileged
- 컨테이너 내부 주요 자원에 접근할 수 있다.--name
- 컨테이너에 특정 이름을 부여한다.-p
- -p
${호스트 포트 }
:${컨테이너 포트}
- 컨테이너의 포트를 호스트의 포트와 바인딩해 연결할 수 있는 속성
- (예)
-p 3307:3307 -p 192.168.56.103:80:80
- 만약 여러 개의 포트를 외부에 개방하려면 -p 옵션을 여러 번 설정하면 된다.
- -p
exec
- docker 컨테이너 내 특정 명령을 입력하거나 shell에 접근할 수 있다./usr/sbin/init
- 컨테이너 띄울 때 함께 실행한다. 해당 옵션과--privileged
옵션이 함께 사용되어야systemctl
이 동작한다.
이후 모든 컨테이너들을 확인하면 아래와 같이 나타난다.
3. URL 접속
${호스트 PC(도커를 설치한 가상 서버)의 IPv4 }
:${컨테이너 생성 시 바인딩한 port 번호 }
를 입력해주면 아래와 같이 출력된다.Ubuntu -
192.168.56.103:80
Rocky Linux -
192.168.56.103:8081
참고 레퍼런스
'Network > Docker' 카테고리의 다른 글
[Network | Docker] 데이터베이스 외부 원격 접속 (0) 2024.07.03 [Network | Docker] 볼륨 (0) 2024.07.02 [Network | Docker] 컨테이너 애플리케이션 구축 (0) 2024.06.30 [Network | Docker] 설치 및 컨테이너 생성 (0) 2024.06.30 [Network | Docker] 용어 및 개념 (0) 2024.06.30 다음글이 없습니다.이전글이 없습니다.댓글