Docker 에서 Container 실행/시작시에 명령어가 실행되도록 하기

Docker 이미지를 build 할 때에 CMD나 ENTRYPOINT를 이용하면 이미지를 실행할 때에 실행된다고 하는 글들이 많은데 이상하게 nginx나 apache, mysql 등은 통하지 않았다. 여러 글들을 찾아본 끝에 유일하게 성공한 방법은 .bashrc를 이용하는 것이다.

이는 container의 기본 설정에서 bash를 실행하도록 되어 있다는 것을 이용한 것이다.

따라서, NGINX 를 컴파일하여 설치한 경우 Image를 실행할 때에 nginx를 실행하도록 하기 위해서는 다음과 같은 내용을 /root/.bashrc 에 추가하여 준다.

/usr/local/nginx/sbin/nginx

Apache나 MariaDB를 실행하려고 하면 다음과 같이 한다.

service apache2 start
service mysql start