최신판 |
당신의 편집 |
1번째 줄: |
1번째 줄: |
− | 출처: https://docs.docker.com/engine/reference/commandline/cli/
| |
− |
| |
| ==설치== | | ==설치== |
| | | |
8번째 줄: |
6번째 줄: |
| $ sudo wget -qO- <nowiki>https://get.docker.com/</nowiki> | sh | | $ sudo wget -qO- <nowiki>https://get.docker.com/</nowiki> | sh |
| | | |
− | ==== arch계열에서 package manager를 통한 설치==== | + | ===package manager=== |
− | $ sudo pacman -S docker
| + | arch linux / manjaro |
| + | |
| + | $ sudo pacman -S docker |
| | | |
| ===사용자 권한 추가=== | | ===사용자 권한 추가=== |
− | $ sudo usermod -aG docker $USER
| + | $ sudo usermod -aG docker $USER |
− | 다시 접속한 후에 적용된다.
| + | |
| + | $ reboot |
| | | |
− | ==commit== | + | ==백업== |
− | $ docker commit CONTAINER IMAGE_NAME
| |
− | ==save==
| |
| $ sudo docker save -o [파일명].tar 이미지명 | | $ sudo docker save -o [파일명].tar 이미지명 |
| | | |
− | ==load== | + | ==복원== |
| $ docker load < [파일명].tar | | $ docker load < [파일명].tar |
| | | |
− | ==run== | + | ==docker run== |
− | $ docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
| |
| | | |
− | === Options === | + | ===한글입력=== |
− | -v, --volume list Bind mount a volume | + | $ docker run -it -e LC_ALL=C.UTF-8 ubuntu bash |
| | | |
− | --volume-driver string Optional volume driver for the container
| + | ==attach== |
− | | + | 컨테이너에 접속 |
− | --volumes-from list Mount volumes from the specified container(s)
| |
− | | |
− | ==== Network Settings ====
| |
− | 참고: https://docs.docker.com/engine/tutorials/networkingcontainers/<syntaxhighlight>
| |
− | --dns=[] : Set custom dns servers for the container
| |
− | --network="bridge" : Connect a container to a network
| |
− | 'bridge': create a network stack on the default Docker bridge
| |
− | 'none': no networking
| |
− | 'container:<name|id>': reuse another container's network stack
| |
− | 'host': use the Docker host network stack
| |
− | '<network-name>|<network-id>': connect to a user-defined network
| |
− | --network-alias=[] : Add network-scoped alias for the container
| |
− | --add-host="" : Add a line to /etc/hosts (host:IP)
| |
− | --mac-address="" : Sets the container's Ethernet device's MAC address
| |
− | --ip="" : Sets the container's Ethernet device's IPv4 address
| |
− | --ip6="" : Sets the container's Ethernet device's IPv6 address
| |
− | --link-local-ip=[] : Sets one or more container's Ethernet device's link local IPv4/IPv6 addresses
| |
− | </syntaxhighlight>Supported networks :
| |
− | {| class="wikitable"
| |
− | !Network
| |
− | !Description
| |
− | |-
| |
− | |'''none'''
| |
− | |No networking in the container.
| |
− | |-
| |
− | |'''bridge''' (default)
| |
− | |Connect the container to the bridge via veth interfaces.
| |
− | |-
| |
− | |'''host'''
| |
− | |Use the host's network stack inside the container.
| |
− | |-
| |
− | |'''container'''<nowiki>:<name|id></nowiki>
| |
− | |Use the network stack of another container, specified via its ''name'' or ''id''.
| |
− | |-
| |
− | |'''NETWORK'''
| |
− | |Connects the container to a user created network (using <code>docker network create</code> command)
| |
− | |}
| |
− | 주의: <code>--network="host"</code> gives the container full access to local system services such as D-bus and is therefore considered insecure.
| |
| | | |
− | === 예시 ===
| + | $ sudo docker attach [컨테이너명] |
− | $ docker run -it -e LC_ALL=C.UTF-8 ubuntu bash
| |
− | 한글입력을 위해서 로케일을 변경할 수 있다.
| |
− | $ docker run -it --entrypoint bash ubuntu
| |
− | --entrypoint string Overwrite the default ENTRYPOINT of the image
| |
| | | |
− | ==attach==
| |
− | Attach local standard input, output, and error streams to a running container
| |
− | $ sudo docker attach [컨테이너명]
| |
| 종료시에는 ctrl+p, ctrl+q로 나가야 컨테이너가 종료되지 않는다. | | 종료시에는 ctrl+p, ctrl+q로 나가야 컨테이너가 종료되지 않는다. |
| | | |
| ==exec== | | ==exec== |
| 컨테이너 명령실행 | | 컨테이너 명령실행 |
− | $ sudo docker exec [컨테이너명] [명령어]
| + | |
| + | $ sudo docker exec [컨테이너명] [명령어] |
| | | |
| ====옵션==== | | ====옵션==== |
89번째 줄: |
43번째 줄: |
| | | |
| ==build== | | ==build== |
− | The <code>docker build</code> command builds Docker images from a Dockerfile and a “context”. A build’s context is the set of files located in the specified <code>PATH</code> or <code>URL</code>.
| + | $ sudo docker build -t [이미지명] . |
− | $ docker build [OPTIONS] PATH | URL | -
| |
− | [[Dockerfile]] | |
− | | |
− | -t, --tag list Name and optionally a tag in the 'name:tag' format
| |
− | | |
− | -f Specify a Dockerfile
| |
− | | |
− | == builder ==
| |
− | Manage builds.
| |
− | | |
− | === prune ===
| |
− | Remove build cache
| |
− | $ docker builder prune
| |
− | | |
− | == buildx ==
| |
− | Extended build capabilities with BuildKit
| |
− | | |
− | === ls ===
| |
− | List builder instances
| |
− | $ docker buildx ls
| |
− | | |
− | === create ===
| |
− | Create a new builder instance
| |
− | $ docker buildx create [OPTIONS] [CONTEXT|ENDPOINT]
| |
− | options
| |
− | | |
− | --use Set the current builder instance
| |
− | | |
− | === inspect ===
| |
− | Inspect current builder instance
| |
− | $ docker buildx inspect [NAME]
| |
− | options
| |
− | | |
− | --bootstrap Ensure builder has booted before inspecting
| |
− | | |
− | === rm ===
| |
− | Remove a builder instance
| |
− | $ docker buildx rm [NAME]
| |
− | | |
− | == checkpoint ==
| |
− | $ docker checkpoint create
| |
− | | |
− | $ docker checkpoint ls [컨테이너]
| |
− | | |
− | $ docker checkpoint rm
| |
| | | |
| ==cp== | | ==cp== |
− | $ docker cp [container name]:[container 내부 경로] [host 파일경로]
| + | $ docker cp [container name]:[container 내부 경로] [host 파일경로] |
− | | |
− | == volume ==
| |
− | 도커에서 볼륨을 매핑하는 방법은 여러 가지가 있습니다. 그 중 하나는 호스트와 볼륨을 공유하는 것입니다. 도커가 관리하는 볼륨도 있다.(managed volumes)
| |
− | | |
− | 도커는 하나의 이미지로부터 여러 컨테이너를 만들기 위해서 '''Union File system'''을 사용한다. 유니온 파일 시스템은 원본 이미지에 변경된 내용(diff)를 추가하는 방식이므로, 다른 컨테이너에서 사용 할 수 없다. 애플리케이션에 따라서는 데이터를 다른 컨테이너와 공유 하거나 혹은 호스트에서 접근 할 수 있어야 하는 경우가 있는데, 이때 데이터 볼륨을 사용한다. (출처: https://www.joinc.co.kr/w/man/12/docker/Guide/DataWithContainer)
| |
− | | |
− | === prune ===
| |
− | Remove all unused local volumes
| |
− | $ docker volume prune
| |
− | | |
− | == network ==
| |
− | | |
− | === ls ===
| |
− | $ docker network ls [OPTIONS]
| |
| | | |
| == system == | | == system == |
− | Usage: docker system COMMAND
| |
− |
| |
− | Manage Docker
| |
− |
| |
− | Commands:
| |
− |
| |
− | df Show docker disk usage
| |
− |
| |
− | events Get real time events from the server
| |
− |
| |
− | info Display system-wide information
| |
− |
| |
− | prune Remove unused data
| |
− |
| |
− | === prune ===
| |
| 도커를 사용하다보면 더이상 사용하지 않는 컨테이너와 이미지들이 저장공간을 필요없이 차지하게 된다. 이런 데이터들을 한 번에 정리할 수 있는 명령어. | | 도커를 사용하다보면 더이상 사용하지 않는 컨테이너와 이미지들이 저장공간을 필요없이 차지하게 된다. 이런 데이터들을 한 번에 정리할 수 있는 명령어. |
− | $ docker system prune --all --force
| |
− |
| |
− | === df ===
| |
− | 볼륨 크기를 볼 수 있어 디스크 정리할 때 사용할 수 있다.
| |
− |
| |
− | Show docker disk usage
| |
− |
| |
− | Options:
| |
− |
| |
− | --format string Pretty-print images using a Go template
| |
− |
| |
− | -v, --verbose Show detailed information on space usage
| |
− |
| |
− | == config ==
| |
− | Create a config from a file or STDIN
| |
− | $ docker config create [config] [file]
| |
− |
| |
− | $ docker config inspect [config]
| |
− |
| |
− | == update ==
| |
− | Update configuration of one or more containers
| |
− |
| |
− | --cpus : Number of CPUs
| |
− | $ docker update --cpus 2 container_name
| |
− | https://docs.docker.com/engine/reference/commandline/update/#options
| |
− |
| |
− | == stats ==
| |
− | Display a live stream of container(s) resource usage statistics
| |
− | $ docker stats
| |
− |
| |
− | == info ==
| |
− | Display system-wide information
| |
− | $ docker info
| |
− |
| |
− | == inspect ==
| |
− | Return low-level information on Docker objects
| |
− | $ docker inspect [OPTIONS] NAME|ID [NAME|ID...]
| |
| | | |
− | === Get an instance’s IP address ===
| + | docker system prune -a -f |
− | $ docker inspect --format='<nowiki>{{range .NetworkSettings.Networks}}</nowiki><nowiki>{{.IPAddress}}</nowiki><nowiki>{{end}}</nowiki>' $INSTANCE_ID
| |
| | | |
− | == 외부링크 == | + | ==Dockerfile== |
| | | |
− | === Node.js 웹 앱의 도커라이징 === | + | ===한글입력=== |
− | https://nodejs.org/ko/docs/guides/nodejs-docker-webapp/
| + | ENV LC_ALL=C.UTF-8 |
− | <br />
| |
− | [[분류:Docker]]
| |