소스 검색

make publish a regular command of Compose

Signed-off-by: Guillaume Lours <[email protected]>
Guillaume Lours 8 달 전
부모
커밋
13618756dc

+ 1 - 0
cmd/compose/compose.go

@@ -630,6 +630,7 @@ func RootCommand(dockerCli command.Cli, backend Backend) *cobra.Command { //noli
 		scaleCommand(&opts, dockerCli, backend),
 		statsCommand(&opts, dockerCli),
 		watchCommand(&opts, dockerCli, backend),
+		publishCommand(&opts, dockerCli, backend),
 		alphaCommand(&opts, dockerCli, backend),
 	)
 

+ 3 - 3
cmd/compose/publish.go

@@ -20,12 +20,12 @@ import (
 	"context"
 	"errors"
 
+	"github.com/docker/cli/cli"
 	"github.com/docker/cli/cli/command"
+	"github.com/docker/compose/v2/pkg/api"
 	"github.com/sirupsen/logrus"
 	"github.com/spf13/cobra"
 	"github.com/spf13/pflag"
-
-	"github.com/docker/compose/v2/pkg/api"
 )
 
 type publishOptions struct {
@@ -46,7 +46,7 @@ func publishCommand(p *ProjectOptions, dockerCli command.Cli, backend api.Servic
 		RunE: Adapt(func(ctx context.Context, args []string) error {
 			return runPublish(ctx, dockerCli, backend, opts, args[0])
 		}),
-		Args: cobra.ExactArgs(1),
+		Args: cli.ExactArgs(1),
 	}
 	flags := cmd.Flags()
 	flags.BoolVar(&opts.resolveImageDigests, "resolve-image-digests", false, "Pin image tags to digests")

+ 1 - 0
docs/reference/compose.md

@@ -28,6 +28,7 @@ Define and run multi-container applications with Docker
 | [`pause`](compose_pause.md)     | Pause services                                                                          |
 | [`port`](compose_port.md)       | Print the public port for a port binding                                                |
 | [`ps`](compose_ps.md)           | List containers                                                                         |
+| [`publish`](compose_publish.md) | Publish compose application                                                             |
 | [`pull`](compose_pull.md)       | Pull service images                                                                     |
 | [`push`](compose_push.md)       | Push service images                                                                     |
 | [`restart`](compose_restart.md) | Restart service containers                                                              |

+ 18 - 0
docs/reference/compose_publish.md

@@ -0,0 +1,18 @@
+# docker compose publish
+
+<!---MARKER_GEN_START-->
+Publish compose application
+
+### Options
+
+| Name                      | Type     | Default | Description                                                                    |
+|:--------------------------|:---------|:--------|:-------------------------------------------------------------------------------|
+| `--dry-run`               | `bool`   |         | Execute command in dry run mode                                                |
+| `--oci-version`           | `string` |         | OCI image/artifact specification version (automatically determined by default) |
+| `--resolve-image-digests` | `bool`   |         | Pin image tags to digests                                                      |
+| `--with-env`              | `bool`   |         | Include environment variables in the published OCI artifact                    |
+| `-y`, `--yes`             | `bool`   |         | Assume "yes" as answer to all prompts                                          |
+
+
+<!---MARKER_GEN_END-->
+

+ 2 - 0
docs/reference/docker_compose.yaml

@@ -22,6 +22,7 @@ cname:
     - docker compose pause
     - docker compose port
     - docker compose ps
+    - docker compose publish
     - docker compose pull
     - docker compose push
     - docker compose restart
@@ -55,6 +56,7 @@ clink:
     - docker_compose_pause.yaml
     - docker_compose_port.yaml
     - docker_compose_ps.yaml
+    - docker_compose_publish.yaml
     - docker_compose_pull.yaml
     - docker_compose_push.yaml
     - docker_compose_restart.yaml

+ 66 - 0
docs/reference/docker_compose_publish.yaml

@@ -0,0 +1,66 @@
+command: docker compose publish
+short: Publish compose application
+long: Publish compose application
+usage: docker compose publish [OPTIONS] REPOSITORY[:TAG]
+pname: docker compose
+plink: docker_compose.yaml
+options:
+    - option: oci-version
+      value_type: string
+      description: |
+        OCI image/artifact specification version (automatically determined by default)
+      deprecated: false
+      hidden: false
+      experimental: false
+      experimentalcli: false
+      kubernetes: false
+      swarm: false
+    - option: resolve-image-digests
+      value_type: bool
+      default_value: "false"
+      description: Pin image tags to digests
+      deprecated: false
+      hidden: false
+      experimental: false
+      experimentalcli: false
+      kubernetes: false
+      swarm: false
+    - option: with-env
+      value_type: bool
+      default_value: "false"
+      description: Include environment variables in the published OCI artifact
+      deprecated: false
+      hidden: false
+      experimental: false
+      experimentalcli: false
+      kubernetes: false
+      swarm: false
+    - option: "yes"
+      shorthand: "y"
+      value_type: bool
+      default_value: "false"
+      description: Assume "yes" as answer to all prompts
+      deprecated: false
+      hidden: false
+      experimental: false
+      experimentalcli: false
+      kubernetes: false
+      swarm: false
+inherited_options:
+    - option: dry-run
+      value_type: bool
+      default_value: "false"
+      description: Execute command in dry run mode
+      deprecated: false
+      hidden: false
+      experimental: false
+      experimentalcli: false
+      kubernetes: false
+      swarm: false
+deprecated: false
+hidden: false
+experimental: false
+experimentalcli: false
+kubernetes: false
+swarm: false
+