Docker Compose CLI(Compose 명령줄) 옵션 개요 및 도움말
13048 단어 docker
Dockerfile은 사용자가 별도의 응용 컨테이너를 관리할 수 있도록 합니다.Compose는 사용자가 하나의 템플릿(YAML 형식)에서 연결된 응용 용기 그룹(
project
, 즉 프로젝트라고 부른다)을 정의할 수 있도록 한다. 예를 들어 웹 서비스 용기에 백엔드 데이터베이스 서비스 용기 등이다.1. 먼저 몇 가지 용어를 소개한다.
이를 통해 알 수 있듯이 하나의 프로젝트는 여러 서비스(용기)로 연결되고 Compose는 프로젝트를 대상으로 관리할 수 있다.
2、docker-compose
Compose의 경우 대부분의 명령의 대상은 프로젝트 자체일 수도 있고 프로젝트의 서비스나 용기로 지정할 수도 있다.특별한 설명이 없으면 명령 대상은 프로젝트가 됩니다. 이것은 프로젝트의 모든 서비스가 명령의 영향을 받는다는 것을 의미합니다.
명령줄에서
docker-compose --help
을 실행할 수 있습니다.특정 명령의 사용 방식을 보려면 실행할 수 있습니다docker-compse command --help, up 명령의 사용 형식을 보려면 docker-compose up --help
[root@iZbp13pwlxqwiu1xxb6szsZ ~]# docker-compose up --help
Builds, (re)creates, starts, and attaches to containers for a service.
Unless they are already running, this command also starts any linked services.
The `docker-compose up` command aggregates the output of each container. When
the command exits, all containers are stopped. Running `docker-compose up -d`
starts the containers in the background and leaves them running.
If there are existing containers for a service, and the service's configuration
or image was changed after the container's creation, `docker-compose up` picks
up the changes by stopping and recreating the containers (preserving mounted
volumes). To prevent Compose from picking up changes, use the `--no-recreate`
flag.
If you want to force Compose to stop and recreate all containers, use the
`--force-recreate` flag.
Usage: up [options] [--scale SERVICE=NUM...] [SERVICE...]
Options:
-d, --detach Detached mode: Run containers in the background,
print new container names. Incompatible with
--abort-on-container-exit.
--no-color Produce monochrome output.
--quiet-pull Pull without printing progress information
--no-deps Don't start linked services.
--force-recreate Recreate containers even if their configuration
and image haven't changed.
--always-recreate-deps Recreate dependent containers.
Incompatible with --no-recreate.
--no-recreate If containers already exist, don't recreate
them. Incompatible with --force-recreate and -V.
--no-build Don't build an image, even if it's missing.
--no-start Don't start the services after creating them.
--build Build images before starting containers.
--abort-on-container-exit Stops all containers if any container was
stopped. Incompatible with -d.
-t, --timeout TIMEOUT Use this timeout in seconds for container
shutdown when attached or when containers are
already running. (default: 10)
-V, --renew-anon-volumes Recreate anonymous volumes instead of retrieving
data from the previous containers.
--remove-orphans Remove containers for services not defined
in the Compose file.
--exit-code-from SERVICE Return the exit code of the selected service
container. Implies --abort-on-container-exit.
--scale SERVICE=NUM Scale SERVICE to NUM instances. Overrides the
`scale` setting in the Compose file if present.
[root@iZbp13pwlxqwiu1xxb6szsZ ~]#
다음은 docker-compose 명령 및 사용
Define and run multi-container applications with Docker.
Usage:
docker-compose [-f ...] [options] [COMMAND] [ARGS...]
docker-compose -h|--help
Options:
-f, --file FILE Specify an alternate compose file
(default: docker-compose.yml)
Compose , docker-compose.yml,
-p, --project-name NAME Specify an alternate project name
(default: directory name)
,
--verbose Show more output
--log-level LEVEL Set log level (DEBUG, INFO, WARNING, ERROR, CRITICAL)
--no-ansi Do not print ANSI control characters
-v, --version Print version and exit
-H, --host HOST Daemon socket to connect to
--tls Use TLS; implied by --tlsverify
--tlscacert CA_PATH Trust certs signed only by this CA
--tlscert CLIENT_CERT_PATH Path to TLS certificate file
--tlskey TLS_KEY_PATH Path to TLS key file
--tlsverify Use TLS and verify the remote
--skip-hostname-check Don't check the daemon's hostname against the
name specified in the client certificate
--project-directory PATH Specify an alternate working directory
(default: the path of the Compose file)
--compatibility If set, Compose will attempt to convert deploy
keys in v3 files to their non-Swarm equivalent
Commands:
build Build or rebuild services
bundle Generate a Docker bundle from the Compose file
config Validate and view the Compose file
Compose , , 。
create Create services
This command is deprecated. Use the `up` command with `--no-start` instead. , up --no-start
down Stop and remove containers, networks, images, and volumes
up , , ,
(Stops containers and removes containers, networks, volumes, and images created by `up`.)
events Receive real time events from containers
exec Execute a command in a running container
help Get help on a command
images List images
kill Kill containers SIGKILL 。
logs View output from containers
pause Pause services
port Print the public port for a port binding
ps List containers
pull Pull service images
push Push service images Docker
restart Restart services
rm Remove stopped containers
。 docker-compose stop 。
run Run a one-off command
scale Set number of containers for a service
start Start services
stop Stop services , 。
top Display the running processes
unpause Unpause services
up Create and start containers
, / , , 。 , 。
version Show the Docker-Compose version information
너는 docker-compose를 통해 [-f...][options] [COMMAND] [ARGS...] docker 용기에 있는 여러 개의 서비스를 관리하고 관리하도록 명령합니다.
3、Use
-f
to specify name and path of one or more Compose files Use the
-f
flag to specify the location of a Compose configuration file. -f 플래그를 사용하여 Compose 구성 파일의 위치를 지정합니다.
3.1 Specifying multiple Compose files 여러 Compose 파일 지정
You can supply multiple
-f
configuration files. When you supply multiple files, Compose combines them into a single configuration. Compose builds the configuration in the order you supply the files. Subsequent files override and add to their predecessors. 여러 개의 - f 프로필을 제공할 수 있습니다.Compose는 여러 파일을 하나의 구성으로 그룹화합니다.Compose는 사용자가 제공한 파일 순서에 따라 구성을 구성합니다.후속 파일은 덮어쓰고 그 전신에 추가됩니다.
For example, consider this command line:
$ docker-compose -f docker-compose.yml -f docker-compose.admin.yml run backup_db
The
docker-compose.yml
file might specify a webapp
service. docker-compose.yml 파일이 웹 앱 서비스를 지정했습니다.
webapp:
image: examples/web
ports:
- "8000:8000"
volumes:
- "/data"
If the
docker-compose.admin.yml
also specifies this same service, any matching fields override the previous file. New values, add to the webapp
service configuration. docker-compose.admin.yml도 같은 서비스를 지정하면 일치하는 필드가 이전 파일을 덮어씁니다.새 값이 웹 앱 서비스 설정에 추가되었습니다.
webapp:
build: .
environment:
- DEBUG=1
Use a
-f
with -
(dash) as the filename to read the configuration from stdin
. When stdin
is used all paths in the configuration are relative to the current working directory. 대역-(대시)의
-f
을 파일 이름으로 사용하여 stdin
에서 구성을 읽습니다.stdin
을 사용하면 구성의 모든 경로가 현재 작업 디렉토리에 상대적입니다.The
-f
flag is optional. If you don’t provide this flag on the command line, Compose traverses the working directory and its parent directories looking for a docker-compose.yml
and a docker-compose.override.yml
file. You must supply at least the docker-compose.yml
file. If both files are present on the same directory level, Compose combines the two files into a single configuration. - f 로고는 선택할 수 있습니다.명령줄에 이 로고를 제공하지 않으면 Compose는 작업 디렉터리와 부모 디렉터리를 옮겨다니며 docker-compose를 찾습니다.yml 및 docker-compose.override.yml 파일.docker-compose를 최소한 제공해야 합니다.yml 파일.만약 두 파일이 모두 같은 디렉터리 단계에 있다면 Compose는 두 파일을 하나의 설정으로 통합할 것입니다.
The configuration in the
docker-compose.override.yml
file is applied over and in addition to the values in the docker-compose.yml
file. docker-compose 제외yml 파일의 값 외에 docker-compose도 적용됩니다.override.yml 파일의 구성입니다.
3.2 Specifying a path to a single Compose file 단일 Compose 파일의 경로 지정
You can use the
-f
flag to specify a path to a Compose file that is not located in the current directory, either from the command line or by setting up a COMPOSE_FILE environment variable in your shell or in an environment file. -f 플래그를 사용하여 명령줄을 통과하거나 셸 또는 환경 파일에 COMPOSE를 설정할 수 있습니다FILE 환경 변수를 사용하여 현재 디렉토리에 없는 Compose 파일의 경로를 지정합니다.
For an example of using the
-f
option at the command line, suppose you are running the Compose Rails sample, and have a docker-compose.yml
file in a directory called sandbox/rails
. You can use a command like docker-compose pull to get the postgres image for the db
service from anywhere by using the -f
flag as follows: docker-compose -f ~/sandbox/rails/docker-compose.yml pull db
Here’s the full example:
$ docker-compose -f ~/sandbox/rails/docker-compose.yml pull db
Pulling db (postgres:latest)...
latest: Pulling from library/postgres
ef0380f84d05: Pull complete
50cf91dc1db8: Pull complete
d3add4cd115c: Pull complete
467830d8a616: Pull complete
089b9db7dc57: Pull complete
6fba0a36935c: Pull complete
81ef0e73c953: Pull complete
338a6c4894dc: Pull complete
15853f32f67c: Pull complete
044c83d92898: Pull complete
17301519f133: Pull complete
dcca70822752: Pull complete
cecf11b8ccf3: Pull complete
Digest: sha256:1364924c753d5ff7e2260cd34dc4ba05ebd40ee8193391220be0f9901d4e1651
Status: Downloaded newer image for postgres:latest
4, Use
-p
to specify a project name 사용-p 프로젝트 이름 지정Each configuration has a project name. If you supply a
-p
flag, you can specify a project name. If you don’t specify the flag, Compose uses the current directory name. See also the COMPOSE_PROJECT_NAME environment variable. 각 구성에는 프로젝트 이름이 있습니다.-p 플래그를 제공하면 프로젝트 이름을 지정할 수 있습니다.플래그를 지정하지 않으면 Compose에서 현재 디렉토리 이름을 사용합니다.COMPOSE 참조PROJECT_NAME 환경 변수.
5. Set up environment variables 설정 환경 변수
You can set environment variables for various
docker-compose
options, including the -f
and -p
flags. -f와 -p 로고를 포함한 다양한 docker-compose 옵션에 환경 변수를 설정할 수 있습니다.
For example, the COMPOSE_FILE environment variable relates to the
-f
flag, and COMPOSE_PROJECT_NAME environment variable relates to the -p
flag. 예를 들어, COMPOSEFILE 환경 변수는 -f 플래그와 연관되어 있으며, COMPOSEPROJECT_NAME 환경 변수는 -p 플래그와 연관됩니다.
Also, you can set some of these variables in an environment file.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.