docker에 컨테이너를 올려 접근하기 위해서는 처음부터 이미지를 다운로드 하고 run 할 때 포트포워딩을 해야한다.
이것은 도커의 네트워크 특성때문이다.
그래서 사용한지 얼마 안된 나는 컨테이너를 생성할 때 포트포워딩을 하지 않고 실행했다가 다시 만들어버린 경우도 있다.
매번 다시 생성해야하는 불상사를 막기위해 이미 생성하고 작업을 어느정도 진행한 컨테이너에 포트포워딩 할 수 있는 방법을 찾았고 방법은 아래와 같다.
docker stop [name]
docker commit [name] [newname]
docker run -p [port]:[port] -dit [newname]
- name 은 이미 생성하고 작업이 어느정도 진행된 컨테이너의 이름이다.
- newname은 commit을 위한 새로운 이름을 지정한다.
- [port]:[port]에는 각각 포트포워딩 할 포트를 적어 넣고 필요에 따라 옵션을 추가한다.
- dashboard에서 보면 이미지에 [newname]으로 생성된 것을 확인할 수 있는데, 해당 이미지로 접속하면 된다.
나는 혹시 몰라 ip도 확인했는데 그대로 복사가 된것을 확인하고 신기했다.