docker 사용법

HYEONG HWAN, MUN/ 3월 19, 2019/ 미분류/ 0 comments

글을 써보고는 있지만 완성을 못한다고 판단할 경우, 비공개로 바뀔 수 있음.

이 글은 초고입니다. 지속적으로 수정됩니다. 글 작성은 보통 한달이 걸립니다.

다음달 말쯤 완성되려나..

 

Docker

https://www.docker.com/

 

<< HERE : docker 의 개념 설명을 쓸것 >>

<< HERE : docker 의 활용예시를 쓸것 >>

 

명령어 기본 형식

docker [명령어 옵션]

항상 root 권한으로 실행할 것.

-이미지 검색

docker search [키워드]
docker search ubuntu

이 이미지 저장소는 https://hub.docker.com/search?q=ubuntu&type=image 와 연결되어 있음.

docker 는 서비스로 항상 실행중.

기본 tag 는 latest 이다.

- 이미지 다운로드
docker pull ubuntu:latest

또는

docker image pull ubuntu:latest

 

- 다운받은 docker image 보기

docker images

또는

docker image list

 

Commands:
  attach      Attach local standard input, output, and error streams to a running container
  build       Build an image from a Dockerfile
  commit      Create a new image from a container's changes
  cp          Copy files/folders between a container and the local filesystem
  create      Create a new container
  deploy      Deploy a new stack or update an existing stack
  diff        Inspect changes to files or directories on a container's filesystem
  events      Get real time events from the server
  exec        Run a command in a running container
  export      Export a container's filesystem as a tar archive
  history     Show the history of an image
  images      List images
  import      Import the contents from a tarball to create a filesystem image
  info        Display system-wide information
  inspect     Return low-level information on Docker objects
  kill        Kill one or more running containers
  load        Load an image from a tar archive or STDIN
  login       Log in to a Docker registry
  logout      Log out from a Docker registry
  logs        Fetch the logs of a container
  pause       Pause all processes within one or more containers
  port        List port mappings or a specific mapping for the container
  ps          List containers
  pull        Pull an image or a repository from a registry
  push        Push an image or a repository to a registry
  rename      Rename a container
  restart     Restart one or more containers
  rm          Remove one or more containers
  rmi         Remove one or more images
  run         Run a command in a new container
  save        Save one or more images to a tar archive (streamed to STDOUT by default)
  search      Search the Docker Hub for images
  start       Start one or more stopped containers
  stats       Display a live stream of container(s) resource usage statistics
  stop        Stop one or more running containers
  tag         Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
  top         Display the running processes of a container
  unpause     Unpause all processes within one or more containers
  update      Update configuration of one or more containers
  version     Show the Docker version information
  wait        Block until one or more containers stop, then print their exit codes

 

- docker 이미지를 사용해서 docker instance 를 생성하기

docker 에서는 instance 를 컨테이너(container)라고 부른다. 둘다 같은뜻임.

docker run -t -i --name hello ubuntu:18.04 /bin/bash

인스턴스가 순식간에 생성되고

내부 쉘로 들어간다.

 

 

docker 는 독립적인 환경에서 한번 실행되고 종료되는 작업 만들기에 좋다.  (부팅 -> 어떠한 작업 실행 -> 종료)

 

 

쉘에서 빠져나오면 인스턴스가 종료된다.

 

- 현재 실행중인 docker container 보기

docker ps

 

- 현재 실행중인 docker container 보기 + 실행중이지 않은 docker container 도 보기

docker ps -a

 

- hello 컨테이너 실행하기

docker start hello
docker ps -a

 

이 hello 컨테이너 역시 내부로 들어갔다가 나오면 중지된다.

- hello 컨테이너 재시작하기

docker restart hello

 

- hello 컨테이너 안으로 들어가기

docker attach hello

exit 또는 컨트롤 D 를 누르면 인스턴스가 중지됨(stop).

여기서는 /bin/bash를 실행했기 때문에 명령을 자유롭게 입력할 수 있음. 단 DB나 서버 애플리케이션을 실행하면 입력은 할 수 없고 출력만 보게됨 .

Bash 셸에서 exit 또는 Ctrl+D를 입력하면 컨테이너가 정지됨

Ctrl+P, Ctrl+Q를 차례대로 입력하면 컨테이너를 정지하지 않고 빠져 나올수 있다.

 

- 외부에서 컨테이너에서 실행 명령어 보내기

docker exec hello echo "hello world"

반드시 해당 docker container 가 실행중인 상태일것.

 

- 인스턴스 중지

docker stop hello

 

- 인스턴스 삭제

docker rm hello

 

- 이미지 삭제

docker image list
docker image rm ubuntu:latest
docker image list

 

태그를 지정하지 않으면 latest 가 삭제된다.

 

111

Leave a Comment

작성하신 댓글은 관리자의 수동 승인 후 게시됩니다.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
*
*