English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Docker는 컨테이너 내에서 애플리케이션을 실행할 수 있도록 허용하며, docker run 컨테이너에서 애플리케이션을 실행하는 명령어.
Hello world를 출력합니다.
w3codebox@w3codebox:~$ docker run ubuntu:15.10 /bin/echo "Hello world" Hello world
각 파라미터 해석:
docker: Docker의 바이너리 실행 파일.
run: docker와 조합하여 컨테이너를 실행합니다.
ubuntu:15.10 실행할 이미지를 지정하면, Docker는 먼저 로컬 호스트에서 이미지가 존재하는지 확인합니다. 존재하지 않으면, Docker는 Docker Hub에서 공공 이미지를 다운로드합니다.
/bin/echo "Hello world": 실행된 컨테이너에서 실행하는 명령어
위 명령어의 전체 의미는 다음과 같습니다: Docker는 ubuntu로 실행된 컨테이너에서 명령어를 실행합니다.15.10 이미지가 새 컨테이너를 생성한 후, 컨테이너에서 bin을 실행합니다./echo "Hello world"를 출력하고, 그 다음 결과를 출력합니다.
docker의 두 가지 파라미터를 통해 -i -t, docker가 실행하는 컨테이너에"대화"의 능력:
w3codebox@w3codebox:~$ docker run -i -t ubuntu:15.10 /bin/bash root@0123ce188bd8:/#
각 파라미터 해석:
-t: 새 컨테이너에서 가상 터미널 또는 터미널을 지정하십시오.
-i: 컨테이너 내의 표준 입력 (STDIN)과 상호작용할 수 있도록 허용합니다.
주의, 두 번째 줄에 root@0123ce188bd8:/#, 이때 우리는 ubuntu15.10 시스템의 컨테이너
우리는 컨테이너에서 명령어를 실행하려고 시도했습니다 cat /proc/version와ls현재 시스템의 버전 정보와 현재 디렉토리에 있는 파일 목록을 각각 확인합니다.
root@0123ce188bd8:/# cat /proc/version Linux version 4.4.0-151-generic (buildd@lgw01-amd64-043) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.10) ) #178-Ubuntu SMP Tue Jun 11 08:30:22 UTC 2019 root@0123ce188bd8:/# ls bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var root@0123ce188bd8:/#
exit 명령어를 실행하거나 CTRL+D 로 컨테이너를退出합니다.
root@0123ce188bd8:/# exit exit root@w3codebox:~#
주의, 세 번째 줄에 root@w3codebox:~# 이미 현재 컨테이너에서 나와 현재 호스트로 돌아왔음을 나타냅니다.
다음 명령어를 사용하여 프로세스 방식으로 실행되는 컨테이너를 생성합니다.
w3codebox@w3codebox:~$ docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done" 2b1b7a428627c51ab8810d541d759f072b4fc75487eed05812646b8534a2fe63
출력에서 기대한 "hello world" 대신 긴 문자열을 볼 수 없었습니다.
2b1b7a428627c51ab8810d541d759f072b4fc75487eed05812646b8534a2fe63
이 긴 문자열은 컨테이너 ID라고 불리며, 각 컨테이너마다 독특합니다. 컨테이너 ID를 통해 해당 컨테이너에서 무엇이 일어났는지 확인할 수 있습니다.
먼저, 우리는 컨테이너가 실행 중인지 확인해야 합니다. 이를 통해: docker ps 보기를:
w3codebox@w3codebox:~$ docker ps CONTAINER ID IMAGE COMMAND ... 5917eac21c36 ubuntu:15.10 "/bin/sh -c 'while t…" ...
출력 세부 정보 소개:
CONTAINER ID: 컨테이너 ID.
IMAGE: 사용하는 이미지.
COMMAND: 컨테이너를 시작할 때 실행되는 명령어.
생성: 컨테이너 생성 시간.
상태: 컨테이너 상태.
상태가 있습니다:7종류:
created(생성)
restarting(재시작 중)
running 또는 Up(운영 중)
removing(이동 중)
paused(정지)
exited(중지)
dead(사망)
포트: 컨테이너의 포트 정보 및 사용하는 연결 유형(tcp\udp).
이름: 자동 할당된 컨테이너 이름.
호스트主机에서 docker logs 명령어를 사용하여 컨테이너 내의 표준 출력을 확인합니다:
w3codebox@w3codebox:~$ docker logs 2b1b7a428627
w3codebox@w3codebox:~$ docker logs amazing_cori
우리는 다음을 사용합니다: docker stop 명령어로 컨테이너를 중지합니다:
docker stop 2b1b7a428627
docker ps를 통해 확인하면, 컨테이너가 중지되었습니다:
w3codebox@w3codebox:~$ docker ps
컨테이너가 더 이상 없습니다.
아래 명령어로도 중지할 수 있습니다:
w3codebox@w3codebox:~$ docker stop amazing_cori