Docker 입문 기초 용기 사용
Docker 소개
Docker 는 Go 언어 를 기반 으로 아파 치 2.0 프로 토 콜 을 따 르 는 오픈 소스 응용 용기 엔진 입 니 다.
Docker 는 개발 자 들 로 하여 금 그들의 응용 프로그램 을 포장 하고 경량급,이식 가능 한 용기 에 의존 하 게 한 다음 에 유행 하 는 Linux 기기 에 발표 할 수도 있 고 가상 화 를 실현 할 수 있 습 니 다.
용 기 는 샌 드 박스 체 제 를 완전히 사용 하여 서로 인터페이스(아이 폰 과 유사 한 app)가 없 으 며,더욱 중요 한 것 은 용기 의 성능 비용 이 매우 낮 다 는 것 이다.
우 분투 Docker 설치
1.Docker 공식 설치 방법
Docker 는 Ubuntu 시스템 의 커 널 버 전이 3.10 이상 이 어야 하 며,이 페이지 의 전제조건 을 살 펴 서 Ubuntu 버 전이 Docker 를 지원 하 는 지 확인 하 라 고 요구 합 니 다.설치 패키지 가 져 오기:
root@ubuntu:~# wget -qO- https://get.docker.com/ | sh
설치 완료 후 알림:
If you would like to use Docker as a non-root user, you should now consider
adding your user to the "docker" group with something like:
sudo usermod -aG docker runoob
Remember that you will have to log out and back in for this to take effect!
docker 서비스 시작
root@ubuntu:~# sudo service docker start
2、URLOS 설치 로 획득
URLOS 는 Docker 를 기반 으로 실행 되 고 URLOS 를 설치 한 것 은 Docker 를 설치 한 것 과 같 습 니 다.저 희 는 URLOS 공식 설치 명령 을 사용 할 수 있 습 니 다.
curl -LO www.urlos.com/iu && sh iu
혹시
curl -O https://www.urlos.com/install && chmod 544 install && ./install
Docker 용 기 는 Docker 클 라 이언 트 Docker 클 라 이언 트 를 사용 하 는 것 이 매우 간단 합 니 다.Docker 명령 을 직접 입력 하여 Docker 클 라 이언 트 의 모든 명령 옵션 을 볼 수 있 습 니 다.
root@ubuntu:~# docker
명령
docker command --help
을 통 해 지정 한 Docker 명령 사용 방법 을 더욱 깊이 알 수 있 습 니 다.예 를 들 어 우 리 는docker stats
명령 의 구체 적 인 사용 방법 을 살 펴 봐 야 한다. root@ubuntu:~# docker stats --help
용기 시작(대화 모드)우리 가 버 전 16.04 의 ubuntu 시스템 미 러 를 사용 하여 용 기 를 실행 하려 면 명령 은 다음 과 같 습 니 다.
root@ubuntu:~# docker run -it ubuntu:16.04 sh
버 전 15.04 의 ubuntu 시스템 미 러 를 사용 하려 면 명령 은 다음 과 같 습 니 다.
root@ubuntu:~# docker run -it ubuntu:15.04 sh
매개 변수 분석:
위의 명령 을 약간 수정 하고 끝 에 명령 을 추가 하여 실행 한 후:
root@ubuntu:~# docker run -it ubuntu:16.04 sh -c "while true; do echo hello urlos; sleep 1; done"
hello urlos
hello urlos
hello urlos
hello urlos
hello urlos
hello urlos
^Croot@ubuntu:~#
우 리 는 터미널 에서 끊임없이 출력
hello urlos
하 는 것 을 볼 수 있 는데,이때 키보드Ctrl+c
를 누 르 면 출력 을 중지 할 수 있다.용기(백 스테이지 모드)를 시작 합 니 다.위의 명령 을 조금 만 더 수정 하고-it
을-d
로 바 꾸 어 결 과 를 보 겠 습 니 다.root@ubuntu:~# docker run -d ubuntu:16.04 sh -c "while true; do echo hello urlos; sleep 1; done"
0cf141fd0745fb4dc104bec1a3238a1bd8dad7aa72926dea0a39ddc7ba54fe32
출력 에서 우 리 는 기대 하 는'hello World'를 보지 못 하고 긴 문자
0cf141fd0745fb4dc104bec1a3238a1bd8dad7aa72926dea0a39ddc7ba54fe32
를 보 았 다.이 긴 문자열 은 용기 ID 라 고 하 는데 모든 용기 에 유일한 것 입 니 다.용기 ID 를 통 해 해당 용기 에 무슨 일이 일 어 났 는 지 볼 수 있 습 니 다.우선,용기 가 작 동 하고 있 는 지 확인 해 야 합 니 다.
docker ps
을 통 해 확인 할 수 있 습 니 다.root@ubuntu:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0cf141fd0745 ubuntu:16.04 "sh -c 'while true; …" 2 minutes ago Up 2 minutes hopeful_matsumoto
그리고
docker logs [ID ]
명령 을 사용 하여 용기 안의 표준 출력 을 봅 니 다.root@ubuntu:~# docker logs hopeful_matsumoto
hello urlos
hello urlos
hello urlos
hello urlos
hello urlos
hello urlos
hello urlos
hello urlos
우 리 는 용기 내부 에서 이미 매우 많은
hello urlos
을 출력 한 것 을 볼 수 있다.이것 은 용기 가 배경 에서 운행 하 는 모드 에 있다 는 것 을 설명 한다.WEB 응용 용 기 를 실행 합 니 다.현재 docker 용기 에서 nginx 응용 프로그램 을 실행 하여 웹 응용 프로그램 을 실행 할 것 입 니 다.
먼저 Docker Hub 공공 미 러 원본 에서 미 러 를 끌 어 옵 니 다.
root@ubuntu:~# docker pull nginx
그리고 이 미 러 를 실행 합 니 다:
root@ubuntu:~# docker run -d -p 8080:80 nginx
매개 변수 설명:
WEB 응용 용기 보기
docker ps
를 사용 하여 우리 가 실행 중인 용 기 를 봅 니 다.root@ubuntu:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b394756b6c5d nginx "nginx -g 'daemon of…" 3 seconds ago Up 2 seconds 0.0.0.0:8080->80/tcp elastic_babbage
우 리 는 포트 정보
0.0.0.0:8080->80/tcp
를 보 았 는데,숙 성 호스트 의 8080 포트 가 용기 내부 의 80 포트 에 비 친 다 는 뜻 이다.이 때 우 리 는 브 라 우 저 를 통 해 WEB 응용 프로그램 에 접근 할 수 있 습 니 다.
포트 를 보 는 단축 키
docker ps
명령 을 통 해 용기 의 포트 맵 을 볼 수 있 습 니 다.docker 는 또 다른 단축 키docker port
를 제공 합 니 다.docker port
를 사용 하면 지정 한(ID 또는 이름)용기 의 특정한 포트 가 호스트 에 비 치 는 엔 드 구 호 를 볼 수 있 습 니 다.위 에 저희 가 만 든 웹 응용 용기 ID 는 b394756b6c5d 용기 이름 은 elastic 입 니 다.babbage。
docker port b394756b6c5d 또는 docker port elastic 을 사용 할 수 있 습 니 다.babbage 는 용기 포트 의 매 핑 상황 을 봅 니 다.
root@ubuntu:~# docker port b394756b6c5d
80/tcp -> 0.0.0.0:8080
root@ubuntu:~# docker port affectionate_montalcini
80/tcp -> 0.0.0.0:8080
WEB 프로그램 로그 사용
docker logs [ID ]
을 보면 용기 내부 의 표준 출력 을 볼 수 있 습 니 다.root@ubuntu:~# docker logs b394756b6c5d
192.168.43.131 - - [04/Jun/2019:06:28:42 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0" "-"
2019/06/05 06:28:42 [error] 6#6: *1 open() "/usr/share/nginx/html/favicon.ico" failed (2: No such file or directory), client: 192.168.43.131, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "192.168.43.122:8080"
192.168.43.131 - - [04/Jun/2019:06:28:42 +0000] "GET /favicon.ico HTTP/1.1" 404 153 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0" "-"
WEB 응용 프로그램 용기 의 프로 세 스 를 볼 수 있 습 니 다.용기 내부 에서 실행 되 는 프로 세 스 를 볼 수 있 습 니 다.
root@ubuntu:~# docker top b394756b6c5d
UID PID PPID C STIME TTY TIME CMD
root 2069 2050 0 23:24 ? 00:00:00 nginx: master process nginx -g daemon off;
systemd+ 2100 2069 0 23:24 ? 00:00:00 nginx: worker process
WEB 용기 사용 정지
docker top
명령 용기 정지root@ubuntu:~# docker stop b394756b6c5d
b394756b6c5d
WEB 응용 용기 시작
docker stop [ID ]
정지 한 용기 시작 명령root@ubuntu:~# docker start b394756b6c5d
b394756b6c5d
WEB 용 기 를 다시 시작 합 니 다.실행 중인 용 기 를 다시 시작 하 라 는 명령 을 사용 할 수 있 습 니 다.
root@ubuntu:~# docker restart b394756b6c5d
b394756b6c5d
docker start [ID ]
마지막 으로 만 든 용 기 를 조회 합 니 다.root@ubuntu:~# docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b394756b6c5d nginx "nginx -g 'daemon of…" 12 minutes ago Up 12 minutes 0.0.0.0:8080->80/tcp elastic_babbage
WEB 용 기 를 삭제 하려 면 필요 하지 않 은 용 기 를 삭제 하 라 는 명령 을 사용 할 수 있 습 니 다.용 기 를 삭제 할 때 용 기 는 정지 상태 여야 합 니 다.그렇지 않 으 면 다음 과 같은 오 류 를 보고 할 수 있 습 니 다.
root@ubuntu:~# docker rm b394756b6c5d
Error response from daemon: You cannot remove a running container b394756b6c5d95f1d43f11393c169cc73de40938d8f09db81077c8bce6e5881a. Stop the container before attempting removal or force remove
실행 중인 용 기 를 삭제 하려 면
docker restart [ID ]
인자 만 추가 하면 됩 니 다.root@ubuntu:~# docker rm -f b394756b6c5d
b394756b6c5d
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Swarm의 도커 비밀이 게시물에서는 Redis를 사용한 실제 시나리오 예제를 제공하여 사용 방법을 보여주고자 합니다. Docker 기술에 대한 기본 지식 Docker Swarm 오케스트레이터에 대한 기본 지식 "Docker Swarm ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.