dockerd --insecure-registry=192.168.99.100:5000

curl -fsSL <https://download.docker.com/linux/ubuntu/gpg> | sudo apt-key add -

add-apt-repository "deb [arch=amd64] <https://download.docker.com/linux/ubuntu> $(lsb_release -cs) stable"

apt-get update

apt-get install docker-ce

// docker start

sudo /etc/init.d/docker start
systemctl enable docker

' ⇒ 이미지를 입력하는 명령어가 아니다.

docker 이미지의 네이밍 구조

store name(저장소 이름):image name(이미지 이름):tag(태그)

docker run -i -t —name -p

p 옵션: 컨테이너의 포트를 호스트의 포트와 바인딩해 연결할 수 있게 해준다. [호스트 포트]:[컨테이너 포트]

여러개의 포트를 외부에 개방하려면 -p 옵션을 여러 번 사용한다.

d 옵션: -i -t가 컨테이너 내부로 진입하도록 attach 가능한 상태로 설정한다면 -d는 detached 모드로 컨테이너를 실행, Detached 모드는 컨테이너를 백그라운드에서 동작하는 애플리케이션으로서 실행하도록 설정한다.

컨테이너 내부에서 프로그램이 터미널을 차지하는 포그라운드(foreground)로 실행돼 사용자의 입력을 받지 않는다. detached모드인 컨테이너는 반드시 컨테이너에서 프로그램이 실행돼야 하며 포그라운드 프로그램이 실행되지 않으면 컨테이너는 종료된다.

docker exec 컨테이너 내부에서 명령어를 실행한 뒤 그 결과값을 반환받을 수 있다.

—link: A 컨테이너에서 B 컨테이너로 접근하는 방법 중 가장 간단한 것은 NAT로 할당받은 내부 IP를 사용하는 것

B 컨테이너의 IP가 172.17.0.3이라면 A 컨테이너는 이 IP를 써서 B 컨테이너에 접근할 수 있다. 그러나 도커엔진은 컨테이너에게 내부 IP를 172.17.0.2, 3, 4 ...와 같이 순차적으로 할당한다. 이는 컨테이너를 시작할 때마다 재할당하는 것이므로 매번 변경되는 컨테이너의 IP로 접근하기는 어렵다.

deprecated 된 옵션이고 도커 브릿지(bridge) 네트워크를 사용하면 더 손쉽게 사용이 가능하다고 한다.

docker start

docker attach

docker create

docker rm

docker stop