便利なdocker-compose
コマンドですが、どうやらコマンドが変わるみたいなので試してみました。
環境
試した環境は、macでdocker
とdocker-compose
のバージョンは以下です。
$ docker -v Docker version 20.10.6, build 370c289 $ docker-compose version docker-compose version 1.29.1, build c34c88b2 docker-py version: 5.0.0 CPython version: 3.9.0 OpenSSL version: OpenSSL 1.1.1h 22 Sep 2020
docker-composeを実行してみる
まずはdocker-compose
を実行してみます。
$ docker-compose Define and run multi-container applications with Docker. Usage: docker-compose [-f <arg>...] [--profile <name>...] [options] [--] [COMMAND] [ARGS...] docker-compose -h|--help Options: -f, --file FILE Specify an alternate compose file (default: docker-compose.yml) -p, --project-name NAME Specify an alternate project name (default: directory name) --profile NAME Specify a profile to enable -c, --context NAME Specify a context name --verbose Show more output --log-level LEVEL Set log level (DEBUG, INFO, WARNING, ERROR, CRITICAL) --ansi (never|always|auto) Control when to print ANSI control characters --no-ansi Do not print ANSI control characters (DEPRECATED) -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 keys in v3 files to their non-Swarm equivalent (DEPRECATED) --env-file PATH Specify an alternate environment file Commands: build Build or rebuild services config Validate and view the Compose file create Create services down Stop and remove resources 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 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 restart Restart services rm Remove stopped containers 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 version information and quit Docker Compose is now in the Docker CLI, try `docker compose`
ここの最後にDocker Compose is now in the Docker CLI, try docker compose
と表示されました。
DeepLに翻訳させると「Docker ComposeがDocker CLIに加わりました。」とのことで、どうやらdocker-compose
がdocker
コマンドに含まれるようになったみたいです。
ということで、試してみました。
$ docker compose Usage: docker compose [OPTIONS] COMMAND Docker Compose Options: --ansi string Control when to print ANSI control characters ("never"|"always"|"auto") (default "auto") --env-file string Specify an alternate environment file. -f, --file stringArray Compose configuration files --profile stringArray Specify a profile to enable --project-directory string Specify an alternate working directory (default: the path of the Compose file) -p, --project-name string Project name Commands: build Build or rebuild services convert Converts the compose file to platform's canonical format create Creates containers for a service. down Stop and remove containers, networks events Receive real time events from containers. exec Execute a command in a running container. images List images used by the created containers kill Force stop service containers. logs View output from containers ls List running compose projects pause pause services port Print the public port for a port binding. ps List containers pull Pull service images push Push service images restart Restart containers rm Removes stopped service containers run Run a one-off command on a service. start Start services stop Stop services top Display the running processes unpause unpause services up Create and start containers Run 'docker compose COMMAND --help' for more information on a command.
たしかに見た目が同じっぽい。
$ docker-compose up Docker Compose is now in the Docker CLI, try `docker compose up` Recreating docker_php_1 ... done
docker-compose up
だと↑このようになるが、
$ docker compose up -d [+] Running 2/2 ⠿ Network docker_default Created 3.5s ⠿ Container docker_php_1 Started 2.1s
docker compose up
だとこのような出力に変わりました。
ちなみに、docker compose
のバージョンも確認してみました。
$ docker compose version Docker Compose version 2.0.0-beta.1
あら、いつの間にか2系にバージョンアップされていました。もしかしたらこれの影響でコンソールの出力内容が変わったのかもしれませんね。