Skip to content
This repository has been archived by the owner on Sep 29, 2020. It is now read-only.

Commit

Permalink
README: Init
Browse files Browse the repository at this point in the history
Signed-off-by: Christopher Crone <christopher.crone@docker.com>
  • Loading branch information
chris-crone committed Jun 24, 2020
0 parents commit f4c267b
Show file tree
Hide file tree
Showing 2 changed files with 175 additions and 0 deletions.
41 changes: 41 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Changelog

<!-- TEMPLATE
## x.y.z - YYYY-MM-DD
Release headlines
### Added
*
### Changed
*
### Removed
*
### Fixed
*
### Known issues
*
[Release diff](https://github.com/docker/api/compare/<LAST TAG>...<THIS TAG>)
-->

## 0.1.4 - 2020-06-26

First public beta release of the Docker CLI with
[ACI](https://azure.microsoft.com/en-us/services/container-instances/)
integration!

This release includes:
* Initial support for deploying containers and Compose applications to Azure Container Instances (ACI)
* A gRPC API for managing contexts and Azure containers

### Known issues
* Mapping a container port to a different host port is not supported in ACI (i.e.: `docker run -p 80:8080`). You can only expose the container port to the same port on the host.
* Exec currently only allows interactive sessions with a terminal (`exec -t`), not specify commands in the command line.
* `docker run` detaches from the container by default, even if `-d` is not specified. Logs can be seen later on with command `docker log <CONTAINER_ID>`.
* Replicas are not supported when deploying Compose application. One container will be run for each Compose service. Several services cannot expose the same port.
* Windows Containers are not supported on ACI in multi-container compose applications.
134 changes: 134 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
# Docker ACI Integration (Beta)

> :warning: **This CLI is in beta**: The installation process, commands, and
> flags will change in future releases.
Docker has extended its strategic collaboration with Microsoft to simplify code
to cloud application development for developers and development teams by more
closely integrating with Azure Container Instances (ACI).

The new ACI experience from local VS Code and Docker Desktop development to
remote deployment in ACI creates a tighter integration between Docker and
Microsoft developer technologies provides the following productivity benefits to
developers:

* Easily log into Azure directly from the Docker CLI
* Trigger an ACI cloud container service environment to be set up automatically
with easy to use defaults and no infrastructure overhead
* Switch from a local context to a cloud context to quickly and easily run
applications
* Simplifies single container and multi-container application development via
the Compose specification allowing a developer to invoke fully Docker
compatible commands seamlessly for the first time natively within a cloud
container service

To learn more, take a look at the
[announcement blog post](https://www.docker.com/blog/running-a-container-in-aci-with-docker-desktop-edge/)

## FAQ

* [Where's the source code?](https://github.com/docker/aci-integration-beta/issues/1)
* When using an ACI context:
* [Why can't I list images?](https://github.com/docker/aci-integration-beta/issues/2)
* [How do I build images?](https://github.com/docker/aci-integration-beta/issues/3)
* [Why aren't all the existing Docker commands and flags available?](https://github.com/docker/aci-integration-beta/issues/4)
* [Why can't I map container ports?](https://github.com/docker/aci-integration-beta/issues/5)

## macOS and Windows installation

The ACI integration is built into [Docker Desktop Edge](https://www.docker.com/products/docker-desktop).

## Ubuntu Linux installation

The Linux installation script and manual install instructions have been tested
with a fresh install of Ubuntu 20.04.

### Prerequisites

* [Docker 19.03 or later](https://docs.docker.com/engine/install/)

### Install script

You can install the new CLI using the install script:

```console
curl -L https://github.com/docker/aci-integration-beta/releases/download/v0.1.4/install.sh | sh
```

### Manual install

You can download the Docker ACI Integration CLI using the following command:

```console
curl -Lo docker-aci https://github.com/docker/aci-integration-beta/releases/download/v0.1.4/docker-linux-amd64
```

You will then need to make it executable:

```console
chmod +x docker-aci
```

To enable using the local Docker Engine and to use existing Docker contexts, you
will need to have the existing Docker CLI as `com.docker.cli` somewhere in your
`PATH`. You can do this by creating a symbolic link from the existing Docker
CLI.

```console
ln -s /path/to/existing/docker /directory/in/PATH/com.docker.cli
```

> **Note**: The `PATH` environment variable is a colon separated list of
> directories with priority from left to right. You can view it using
> `echo $PATH`. You can find the path to the existing Docker CLI using
> `which docker`. You may need root permissions to make this link.
On a fresh install of Ubuntu 20.04 with Docker Engine
[already installed](https://docs.docker.com/engine/install/ubuntu/):

```console
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
$ which docker
/usr/bin/docker
$ sudo ln -s /usr/bin/docker /usr/local/bin/com.docker.cli
```

You can verify that this is working by checking that the new CLI works with the
default context:

```console
$ ./docker-aci --context default ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
$ echo $?
0
```

To make this CLI with ACI integration your default Docker CLI, you must move it
to a directory in your `PATH` with higher priority than the existing Docker CLI.

Again on a fresh Ubuntu 20.04:

```console
$ which docker
/usr/bin/docker
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
$ sudo mv docker-aci /usr/local/bin/docker
$ which docker
/usr/local/bin/docker
$ docker version
...
Azure integration 0.1.4
...
```

## Uninstall

To remove this CLI, you need to remove the binary you downloaded and
`com.docker.cli` from your `PATH`. If you installed using the script, this can
be done as follows:

```console
sudo rm /usr/local/bin/docker /usr/local/bin/com.docker.cli
```

0 comments on commit f4c267b

Please sign in to comment.