이번에도 도커의 명령어나 기본 환경 구성에 대해서 알아보겠습니다.
앞서 docker를 생성하거나 run으로 생성 및 내부 접속을 할 때 --name 옵션을 주지 않는다면,
컨테이너 생성시 임의의 명사, 형용사를 섞어 이름을 설정합니다.
이에 대하여 새롭게 컨테이너 이름을 재설정 하기 위해서는 rename이라는 명령어를 사용합니다.
docker rename 수정전 컨테이너이름 수정 후 컨테이너 이름
예:) docker rename haams haams_container
컨테이너 삭제는 rm이라는 명령어를 사용합니다.
복구가 되지 않기 떄문에 신중하게 결정해주시기 바랍니다.
docker rm 컨테이너이름
예:) docker rm haams_container
단, 컨테이너를 삭제하기 전에 컨테이너가 실행중인지를 확인해야 합니다.
컨테이너를 실행하다가 exit로 나와서 정지를 시킨 상태이거나 stop 명령어를 통해 해당 컨테이너를 정지시켜야 합니다.
실행 중인 컨테이너를 그래도 죽이고 싶다면 -f 명령어를 이용하면 됩니다.
docker stop 컨테이너이름
예:) docker stop haams_container
컨테이너가 너무 많아서 한 번에 모두 삭제하고 싶다면 prune 명령어를 이용하면 됩니다.
docker container prune
현재 만들어진 컨테이너는 내부망에서만 사용되기 때문에 외부에서 접근이 안됩니다.
따라서 포트포워딩이 필요한데, 포트를 뚫을때, 80번 포트 (Apache 서버) 설치를 하기 위해서 아래와 같이 진행합니다.
docker run -i -t --name containerName -p 포트번호:80 ubuntu:14.04
이렇게 함으로써 호스트포트로 일반적으로 접근하되, 컨테이너에서의 80번 포트로의 포워딩이 되기 때문에
외부에서 해당 IP:포트 주소로 접근하면 apache 서버가 나타날 것입니다.
혹시 위와 같이 포트를 포워딩하다가 컨테이너를 삭제한 경우 80번 포트를 다시 할당하려 하는데
80번 포트가 이미 할당되었다고 더 할 수 없다고 뜬다면 아래와 같이 하면 됩니다.
컨테이너 상태에서가 아닌 호스트 상태에서 80번 포트를 사용하는 프로세스를 제거한 뒤 해당 컨테이너가 남아있다면
삭제하고 다시 만들어주면 됩니다.
netstat -tnlp
포트를 사용하고 있는 프로세스 체크
kill -9 PID
만든 컨테이너에 들어와서는 아파치 서버를 설치해보겠습니다.
apt-get update
apt-get install apache2 -y
service apache2 start
이렇게 apache2 서버가 실행되면 다음과 같은 오류가 날 수 있습니다.
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
이럴 경우 서비스 이름을 설정해줘야 하는데 아래와 같이 진행하면 됩니다.
grep ServerName /etc/apache2/apache2.conf
echo "ServerName localhost" >> /etc/apache2/apache2.conf
grep ServerName /etc/apache2/apache2.conf
service apache2 restart
맨 위에 grep ServerName /etc/apache2/apache2.conf는 현재 아파치 서버 이름이 어떻게 구성되었는지 확인하는걸로
아무 내용이 나오지 않을 것입니다.
따라서 두 번째 줄에 있는 내용처럼 아파치 설정파일에 서버이름을 설정해주는데, 저는 localhost로 설정했습니다.
세 번째 줄대로 다시 명령어를 수행했을땐 서버이름이 localhost라고 잘 나올 것이고, apache2 서버를 재시작하면 온전하게 잘 수행되는 것을 확인할 수 있습니다.
이상 도커 기본 설정 및 정리였습니다. 이후에 추가로 더 진행해보겠습니다!
'Cloud' 카테고리의 다른 글
AWS - CLI & 사용자 정보 보호 (0) | 2023.01.17 |
---|---|
About IAM (0) | 2023.01.17 |
AWS 소개 (0) | 2023.01.17 |
Docker 설치방법 & 환경구성 (0) | 2023.01.17 |
도커(Docker)란? (0) | 2023.01.17 |