Giter VIP home page Giter VIP logo

docker-machine-driver-scaleway's Introduction

Overview

Build Status

A 3rd-party driver plugin for Docker machine to manage your containers on the servers of Scaleway

Setup

Homebrew

# install latest release of docker-machine-driver-scaleway and docker-machine using homebrew
$ brew tap scaleway/scaleway
$ brew install scaleway/scaleway/docker-machine-driver-scaleway

# install latest (git) version of docker-machine-driver-scaleway
$ brew tap scaleway/scaleway
$ brew install scaleway/scaleway/docker-machine-driver-scaleway --HEAD

Go

# install latest (git) version of docker-machine-driver-scaleway in your $GOPATH/bin (depends on Golang and docker-machine)
$ go get -u github.com/scaleway/docker-machine-driver-scaleway

Binary

You can find sources and pre-compiled binaries here

# Download the binary (this example downloads the binary for darwin amd64)
$ curl -sL https://github.com/scaleway/docker-machine-driver-scaleway/releases/download/v1.2.1/docker-machine-driver-scaleway_1.2.1_darwin_amd64.zip -O
$ unzip docker-machine-driver-scaleway_1.2.1_darwin_amd64.zip

# Make it executable and copy the binary in a directory accessible with your $PATH
$ chmod +x docker-machine-driver-scaleway_1.2.1_darwin_amd64/docker-machine-driver-scaleway
$ sudo cp docker-machine-driver-scaleway_1.2.1_darwin_amd64/docker-machine-driver-scaleway /usr/local/bin/

Usage

1. Get your Scaleway credentials

You can find your ACCESS KEY and generate your TOKEN here

2. Scaleway driver helper

$ docker-machine create -d scaleway -h
Usage: docker-machine create [OPTIONS] [arg...]

Create a machine

Description:
   Run 'docker-machine create --driver name' to include the create flags for that driver in the help text.

Options:

   --driver, -d "none"                                                                               Driver to create machine with. [$MACHINE_DRIVER]
   --engine-env [--engine-env option --engine-env option]                                            Specify environment variables to set in the engine
   --engine-insecure-registry [--engine-insecure-registry option --engine-insecure-registry option]  Specify insecure registries to allow with the created engine
   --engine-install-url "https://get.docker.com"                                                     Custom URL to use for engine installation [$MACHINE_DOCKER_INSTALL_URL]
   --engine-label [--engine-label option --engine-label option]                                      Specify labels for the created engine
   --engine-opt [--engine-opt option --engine-opt option]                                            Specify arbitrary flags to include with the created engine in the form flag=value
   --engine-registry-mirror [--engine-registry-mirror option --engine-registry-mirror option]        Specify registry mirrors to use [$ENGINE_REGISTRY_MIRROR]
   --engine-storage-driver                                                                           Specify a storage driver to use with the engine
   --scaleway-commercial-type "VC1S"                                                                 Specifies the commercial type [$SCALEWAY_COMMERCIAL_TYPE]
   --scaleway-debug                                                                                  Enables Scaleway client debugging [$SCALEWAY_DEBUG]
   --scaleway-image "ubuntu-xenial"                                                                  Specifies the image [$SCALEWAY_IMAGE]
   --scaleway-bootscript "docker"                                                                    Specifies the bootscript [$SCALEWAY_BOOTSCRIPT]
   --scaleway-ip                                                                                     Specifies the IP address [$SCALEWAY_IP]
   --scaleway-ipv6                                                                                   Enable ipv6 [$SCALEWAY_IPV6]
   --scaleway-name                                                                                   Assign a name [$SCALEWAY_NAME]
   --scaleway-organization                                                                           Scaleway organization [$SCALEWAY_ORGANIZATION]
   --scaleway-port "22"                                                                              Specifies SSH port [$SCALEWAY_PORT]
   --scaleway-region "par1"                                                                          Specifies the location (par1,ams1) [$SCALEWAY_REGION]
   --scaleway-token                                                                                  Scaleway token [$SCALEWAY_TOKEN]
   --scaleway-user "root"                                                                            Specifies SSH user name [$SCALEWAY_USER]
   --scaleway-volumes                                                                                Attach additional volume (e.g., 50G) [$SCALEWAY_VOLUMES]
   --swarm                                                                                           Configure Machine to join a Swarm cluster
   --swarm-addr                                                                                      addr to advertise for Swarm (default: detect and use the machine IP)
   --swarm-discovery                                                                                 Discovery service to use with Swarm
   --swarm-experimental                                                                              Enable Swarm experimental features
   --swarm-host "tcp://0.0.0.0:3376"                                                                 ip/socket to listen on for Swarm master
   --swarm-image "swarm:latest"                                                                      Specify Docker image to use for Swarm [$MACHINE_SWARM_IMAGE]
   --swarm-join-opt [--swarm-join-opt option --swarm-join-opt option]                                Define arbitrary flags for Swarm join
   --swarm-master                                                                                    Configure Machine to be a Swarm master
   --swarm-opt [--swarm-opt option --swarm-opt option]                                               Define arbitrary flags for Swarm master
   --swarm-strategy "spread"                                                                         Define a default scheduling strategy for Swarm
   --tls-san [--tls-san option --tls-san option]                                                     Support extra SANs for TLS certs

3. Create your machine

You need to configure your ACCESS_KEY and TOKEN, we suggest you to install scw and create a credential file using scw login.

In the following example, authentication is done without any other dependencies using the --scaleway-token=TOKEN and --scaleway-organization=ACCESS_KEY parameters.

$ docker-machine create -d scaleway --scaleway-token=TOKEN --scaleway-organization=ORGANIZATION_ID --scaleway-name="cloud-scaleway-1" cloud-scaleway
Running pre-create checks...
Creating machine...
(cloud-scaleway) Creating SSH key...
(cloud-scaleway) Creating server...
(cloud-scaleway) Starting server...
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
Detecting the provisioner...
Provisioning with ubuntu(upstart)...
Installing Docker...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
Checking connection to Docker...
Docker is up and running!
To see how to connect your Docker Client to the Docker Engine running on this virtual machine, run: docker-machine env cloud-scaleway

Note that you can store these parameters in the environment variables SCALEWAY_TOKEN and SCALEWAY_ORGANIZATION.

4. Test your machine

$ eval $(docker-machine env cloud-scaleway)      # loads environment variables to use your machine

$ docker-machine ls                              # cloud-scaleway is now activated
NAME             ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER    ERRORS
cloud-scaleway   *        scaleway     Running   tcp://212.47.248.251:2376           v1.10.3
dev              -        virtualbox   Running   tcp://192.168.99.100:2376           v1.9.1

$ docker run -d -p 80:80 owncloud:8.1            # starts a owncloud image
Unable to find image 'owncloud:8.1' locally
8.1: Pulling from library/owncloud
...

$ docker ps                                      # displays your containers
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
ebdd86fcd18b        owncloud:8.1        "/entrypoint.sh apach"   22 seconds ago      Up 20 seconds       0.0.0.0:80->80/tcp   elegant_shirley

$ curl --silent http://212.47.248.251 | head -n1 # you can also open your browser with your IP
<!DOCTYPE html>

Options

Option Name Description Default Value required
--scaleway-organization or $SCALEWAY_ORGANIZATION Organization UUID none yes
--scaleway-token or $SCALEWAY_TOKEN Token UUID none yes
--scaleway-name or $SCALEWAY_NAME Server name none no
--scaleway-commercial-type or $SCALEWAY_COMMERCIAL_TYPE Commercial type VC1S no
--scaleway-image or $SCALEWAY_IMAGE Server image ubuntu-xenial no
--scaleway-region or $SCALEWAY_REGION Specify the location par1 no
--scaleway-debug or $SCALEWAY_DEBUG Toggle debugging false no
--scaleway-ip or $SCALEWAY_IP Server IP "" no
--scaleway-volumes or $SCALEWAY_VOLUMES Attach additional volume "" no
--scaleway-user or $SCALEWAY_USER SSH User root no
--scaleway-port or $SCALEWAY_PORT SSH port 22 no

Examples

# create a Scaleway docker host
docker-machine create -d scaleway my-scaleway-docker-machine

# create a VC1M server, name it my-docker-machine-1 on Scaleway and my-docker1 in the local Docker machine, with debug enabled
docker-machine create -d scaleway \
  --scaleway-name="my-docker-machine-1" --scaleway-debug \
  --scaleway-commercial-type="VC1M" --scaleway-volumes="50G" \
  my-docker1

# create a swarm master on a VC1M
docker-machine create -d scaleway \
  --scaleway-commercial-type="VC1M" --scaleway-volumes="50G" \
  --swarm --swarm-master --swarm-discovery="XXX"
  my-swarm-manager

# create a swarm slave on a VC1S
docker-machine create -d scaleway \
  --scaleway-commercial-type="VC1S" \
  --swarm --swarm-discovery="XXX"
  my-swarm-node

# create a docker host on the different server offers
docker-machine create -d scaleway --scaleway-commercial-type="VC1S"                           my-vc1s-node
docker-machine create -d scaleway --scaleway-commercial-type="VC1M" --scaleway-volumes="50G"  my-vc1m-node
docker-machine create -d scaleway --scaleway-commercial-type="VC1L" --scaleway-volumes="100G" my-vc1l-node
docker-machine create -d scaleway --scaleway-commercial-type="C2S"                            my-c2s-node
docker-machine create -d scaleway --scaleway-commercial-type="C2M"                            my-c2m-node
docker-machine create -d scaleway --scaleway-commercial-type="C2L"                            my-c2l-node

# remove a machine
docker-machine rm my-vc1s-node
About to remove my-vc1s-node
WARNING: This action will delete both local reference and remote instance.
Are you sure? (y/n): y
Successfully removed my-vc1s-node

# force remove a machine
docker-machine rm -f my-vc1s-node
About to remove my-vc1s-node
WARNING: This action will delete both local reference and remote instance.

More examples.


How to start an ARM server

To launch an ARM server, you need to start a server with our Docker Image, and use an empty install script.

$ curl -sL http://bit.ly/1sf3j8V
#!/bin/sh

exit 0

$ docker-machine create -d scaleway --scaleway-commercial-type=C1 --scaleway-image=docker --engine-install-url="http://bit.ly/1sf3j8V" arm-machine
Running pre-create checks...
Creating machine...
(arm-machine) Creating SSH key...
(arm-machine) Creating server...
(arm-machine) Starting server...
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
Detecting the provisioner...
Provisioning with ubuntu(systemd)...
Installing Docker...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
Checking connection to Docker...
Docker is up and running!
To see how to connect your Docker Client to the Docker Engine running on this virtual machine, run: docker-machine env arm-machine

$ eval $(docker-machine env arm-machine) # arm-machine is now activated

$ docker run -it --rm multiarch/ubuntu-core:armhf-xenial # test an ARM container
Unable to find image 'multiarch/ubuntu-core:armhf-xenial' locally
armhf-xenial: Pulling from multiarch/ubuntu-core
9d12e3a67364: Pull complete
441bb0ba1886: Pull complete
4d9398209a87: Pull complete
89c0bb260a76: Pull complete
Digest: sha256:9b01beb4cdf0e1814583113105965f6b82a2fa618f403075f5ff653ac797911b
Status: Downloaded newer image for multiarch/ubuntu-core:armhf-xenial

root@ab197ef8bd3c:/# uname -a
Linux ab197ef8bd3c 4.5.4-docker-1 #1 SMP Thu May 19 18:02:43 UTC 2016 armv7l armv7l armv7l GNU/Linux
root@ab197ef8bd3c:/# exit

Changelog

v1.6 (2018-12-03)

  • Migrate from Godeps to dep
  • Upgrade scaleway-cli dependency
  • Add scripts to help release the project

View full commits list

v1.5 (2018-11-19)

  • Revert "Remove VC product line"
  • Use xenial image id directly
  • Use default image's bootscript

View full commits list

v1.4 (2018-10-28)

  • Change default bootscript
  • Remove VC product line
  • Allow the bootscript to be specified using it's unique id.
  • Vendor update
  • Remove IP adress if machine didn't exist (#64)

View full commits list

v1.3 (2016-10-28)

  • Add --scaleway-region to start server on different location e.g. ams1 (Amsterdam)
  • Fix user-agent format
  • Add --scaleway-ipv6 (#50)
  • Add --scaleway-port
  • Add --scaleway-user

View full commits list

v1.2.1 (2016-05-20)

  • Delete IP only when she has been created by docker-machine

View full commits list

v1.2.0 (2016-05-08)

  • Add --scaleway-ip (#37)
  • Add --scaleway-volumes (#40)

View full commits list

v1.1.0 (2016-04-28)

  • Fix provisionning error with xenial
  • docker-machine ls displays the commercial-type
  • Switch default image to Ubuntu Xenial
  • Add --scaleway-image (#22)
  • Add --scaleway-debug

View full commits list

v1.0.2 (2016-04-20)

  • Add GOXC configuration (#19)
  • Fix rm subcommand (#17)
  • Initial homebrew support (#9)

View full commits list

v1.0.1 (2016-04-19)

  • Bump dependencies

View full commits list

v1.0.0 (2016-04-19)

  • Sleep only when we stop an host (#4)
  • Loads credentials from ~/.scwrc if available (#2)
  • Support of create
  • Support of start
  • Support of stop
  • Support of rm
  • Support of restart
  • Support of --scaleway-commercial-type
  • Support of --scaleway-name

Debugging

$ SCALEWAY_DEBUG=1 MACHINE_DEBUG=1 docker-machine ...

Development

Feel free to contribute 😃🍻

Release

You can easily build for all supported platforms using build-dmds-packages.sh script located in ./scripts

Links

License

MIT

docker-machine-driver-scaleway's People

Contributors

ctrlok avatar dependabot[bot] avatar izissise avatar jaylinski avatar moul avatar nlamirault avatar quentinperez avatar remyleone avatar twk3 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-machine-driver-scaleway's Issues

Provision machine without public IP

Is it possible to provision a machine without public ip with docker-machine and your driver?

I'm looking to use GitLab runnier in scalable mode with Scaleway, but each new server created come with a public IP. And I don't really need to have public IP for this instances.

Fix install of docker on ARM nodes

docker-machine create -d scaleway --scaleway-commercial-type=C1 fails at the docker install step, see below

Addresses #28

Full logs


I think we can use an alternative --engine-install-url when for C1 servers (see https://github.com/docker/machine/blob/8141874120abdc5c9056b6dbeb09bfb76a3eb290/libmachine/drivers/base.go#L88)
We should host this script on this repo and try to dynamically update the flag if --scaleway-commercial-type=C1.


But ideally, we should add a new provisioner (https://github.com/docker/machine/tree/master/libmachine/provision) that should also help @hypriot's driver (https://github.com/hypriot/docker-machine-hypriot)

X64 support

docker-machine create -d scaleway \
--scaleway-organization=$SCALEWAY_ORGANIZATION --scaleway-token=$SCALEWAY_TOKEN \
--scaleway-name="sw3" --scaleway-region "par1" --scaleway-debug \
--scaleway-commercial-type="X64-15GB" --scaleway-volumes="150G" \
sw3
Running pre-create checks...
Creating machine...
(sw3) Creating SSH key...
(sw3) Creating server...
Error creating machine: Error in driver during machine creation: X64-15GB wrong commercial type

failed go get

> go get -u github.com/scaleway/docker-machine-driver-scaleway
# github.com/scaleway/docker-machine-driver-scaleway/vendor/github.com/docker/docker/pkg/term
go\src\github.com\scaleway\docker-machine-driver-scaleway\vendor\github.com\docker\docker\pkg\term\term_window
s.go:12: imported and not used: "github.com/docker/docker/pkg/term/windows" as windowsconsole
go\src\github.com\scaleway\docker-machine-driver-scaleway\vendor\github.com\docker\docker\pkg\term\term_window
s.go:82: undefined: windows in windows.NewAnsiReader
go\src\github.com\scaleway\docker-machine-driver-scaleway\vendor\github.com\docker\docker\pkg\term\term_window
s.go:88: undefined: windows in windows.NewAnsiWriter
go\src\github.com\scaleway\docker-machine-driver-scaleway\vendor\github.com\docker\docker\pkg\term\term_window
s.go:94: undefined: windows in windows.NewAnsiWriter
go\src\github.com\scaleway\docker-machine-driver-scaleway\vendor\github.com\docker\docker\pkg\term\term_window
s.go:104: undefined: windows in windows.GetHandleInfo
go\src\github.com\scaleway\docker-machine-driver-scaleway\vendor\github.com\docker\docker\pkg\term\term_window
s.go:124: undefined: windows in windows.IsConsole

Docker machine generic. Stocked at 'Waiting for SSH to be available...'

Hey guys,

I'm following this tutorial https://youtu.be/GpHMTR7P2Ms?t=1h24m10s

I already have my server up. So I can do:

docker-machine create --driver generic \
  --engine-opt cluster-store=consul://localhost:8500 \
  --engine-opt cluster-advertise=eth0:2376 \
  --swarm --swarm-master --swarm-discovery consul://localhost:8500 \
  --generic-ssh-user docker --generic-ip-address 163.172.140.151 node-01

Creating CA: /root/.docker/machine/certs/ca.pem
Creating client certificate: /root/.docker/machine/certs/cert.pem
Running pre-create checks...
Creating machine...
(node-01) No SSH key specified. Connecting to this machine now and in the future will require the ssh agent to contain the appropriate key.
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
Error creating machine: Error detecting OS: Too many retries waiting for SSH to be available. Last error: Maximum number of retries (60) exceeded

The system block at Waiting for SSH to be available...

I tried with a generic image Ubuntu 16. Same result. Any ideas?

Cant install binary from docs

root@local:~# curl -sL https://github.com/scaleway/docker-machine-driver-scaleway/releases/download/v1.2.1/docker-machine-driver-scaleway_1.2.1_darwin_amd64.zip | tar xf -
tar: This does not look like a tar archive
tar: Skipping to next header
tar: Exiting with failure status due to previous errors
root@local:~# 

Gitlab CI Runners + (Docker+machine) on scaleway

I am using scaleway to run the GItlab CI workers. I am having an issue where the machines are not getting removed but just being shut down. Since they are not being removed, it will cost us money as the volumes are still being charged.

I am not quite clear on how to approach this problem, thus asking the question here.

Error detecting OS: Too many retries waiting for SSH to be available.

Trying to create a machine but I'm stuck with this SSH error.

I re-enter my ssh key in my credentials and it is still the same.

~|⇒ docker-machine create -d scaleway \
> --scaleway-token="$TOKEN" \
> --scaleway-organization="$ORG" \
> --scaleway-name="SVR-98746" \
> --scaleway-commercial-type="VC1S" \
> --scaleway-image="f12312312" \
> --scaleway-user="theuser" \
> SVR-98746
Running pre-create checks...
Creating machine...
(SVR-98746) Creating SSH key...
(SVR-98746) Creating server...
(SVR-98746) Starting server...

Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
Error creating machine: Error detecting OS: Too many retries waiting for SSH to be available.  Last error: Maximum number of retries (60) exceeded

I also Had a similar error on using the docker-machine generic driver.

Hope you can help.

Thank you!

Error: Too many candidates for ubuntu-xenial (2)

Since today I get the following error when trying to provision machines:

Error creating machine: Error in driver during machine creation: Too many candidates for ubuntu-xenial (2)

I assume it has something to do with you adding the ams1 zone?

tag new version

it would be nice to tag a new version sometime, the --scaleway-bootscript="" seems to be required now (couldn't find an image that worked without it)

Problem creating non-default scaleway-commercial-type server

I have success creating a server with the following command:

docker-machine create -d scaleway --scaleway-token=*-*-*-*-* --scaleway-organization=*-*-*-*-* --scaleway-name=“Server” server

This results in the default VC1S - Ubuntu Server


But now I want to upgrade the server to C2S with the following command:

docker-machine create -d scaleway --scaleway-token=*-*-*-*-* --scaleway-organization=*-*-*-*-* --scaleway-commercial-type=“C2S” --scaleway-name=“Server” server

This results in error:

Running pre-create checks...
Creating machine...
(server) Creating SSH key...
(server) Creating server...
Error creating machine: Error in driver during machine creation: No such image: ubuntu-xenial

Explicitly setting the commercial-type with the following command:

docker-machine create -d scaleway --scaleway-token=*-*-*-*-* --scaleway-organization=*-*-*-*-* --scaleway-commercial-type=“C2S” --scaleway-name=“Server” server

Also results in error:

Running pre-create checks...
Creating machine...
(server) Creating SSH key...
(server) Creating server...
Error creating machine: Error in driver during machine creation: No such image: ubuntu-xenial

Explicitly setting the image also does not help:

docker-machine create -d scaleway --scaleway-token=*-*-*-*-* --scaleway-organization=*-*-*-*-* --scaleway-commercial-type=“C2S” --scaleway-image=“delian-jessie” --scaleway-name=“Server” server
Running pre-create checks...
Creating machine...
(server) Creating SSH key...
(server) Creating server...
Error creating machine: Error in driver during machine creation: No such image: “delian-jessie”

After a few tries I get:

Running pre-create checks...
Creating machine...
(server) Creating SSH key...
(server) Creating server...
Error creating machine: Error in driver during machine creation: Quota exceeded for this resource.

Seems that setting the --scaleway-commercial-type parameter is causing a problem with the image selection.

using docker-machine/0.8.1 and docker-machine-driver-scaleway-1.2.1

Change Private IP to Publica IP

I have deploy a docker server for learning and testing proposes, I have start by installing portainer.

When I try access portainer from publica ip, I have noted that not have given, portainer use private ip..

error during connect: Get http://remote.host:2375/v1.29/info: dial tcp: lookup remote.host on 10.1.94.8:53: no such host

How can I change it?

Explanation about generated tags

After creating 2 machines with the scaleway driver, I found that some tags appears. What is the purpose of those, I don't understand?

image

problems with default boot image Ubuntu Xenial

I have a problem creating a docker instance.

$ docker-machine create -d scaleway --scaleway-name="scw-docker01" --scaleway-commercial-type "VC1S"  scw-docker01
Running pre-create checks...
Creating machine...
(scw-docker01) Creating SSH key...
(scw-docker01) Creating server...
(scw-docker01) Starting server...
Waiting for machine to be running, this may take a few minutes...
Machine is running, waiting for SSH to be available...
Detecting operating system of created instance...
Detecting the provisioner...
Provisioning with ubuntu(systemd)...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
Error creating machine: Error running provisioning: Unable to verify the Docker daemon is listening: Maximum number of retries (5) exceeded

The solution (for now) is to specify another (older) boot image

$ docker-machine create -d scaleway --scaleway-token=xxxxxxxx --scaleway-organization=xxxxxxxx --scaleway-name="scw-docker01" --scaleway-image="ubuntu-trusty" --scaleway-commercial-type="VC1S"  scw-docker01
Running pre-create checks...
Creating machine...
(scw-docker01) Creating SSH key...
(scw-docker01) Creating server...
(scw-docker01) Starting server...
Waiting for machine to be running, this may take a few minutes...
Machine is running, waiting for SSH to be available...
Detecting operating system of created instance...
Detecting the provisioner...
Provisioning with ubuntu(upstart)...
Installing Docker...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
Checking connection to Docker...
Docker is up and running!
To see how to connect Docker to this machine, run: docker-machine env scw-docker01

Does anyone else have the same problem and is there a solution?

Problem creating non-default instance type

Trying to create a machine with VC1M instance type like

docker-machine create -d scaleway --scaleway-name="my-docker1" --scaleway-commercial-type="VC1M" --scaleway-debug my-docker1

Produces error:

Error creating machine: Error in driver during machine creation: The sum of volumes sizes of VC1M instances must be between 51GB and 100GB```

Error starting plugin binary

root@local:~# docker-machine create -d scaleway -h
Error starting plugin binary: fork/exec /usr/local/bin/docker-machine-driver-scaleway: exec format error
Error attempting to get plugin server address for RPC: Failed to dial the plugin server in 10s
root@local:~#

Fix docker-machine rm command

Given I want to remove a docker machine
When I execute the command

$ docker-machine rm test-docker-machine                                                                                                                                    About to remove test-docker-machine
Are you sure? (y/n): y
Error removing host "test-docker-machine": The method is not allowed for the requested URL.

Then I execute docker ls
And the output looks like

test-docker-machine            -        scaleway       Error                                                     Unknown   "95bdefdc-21c7-4487-a09c-b0e1adae59fb" not found

Note: the scaleway machine if effectively removed, running a consecutive docker-machine rm -f solve the problem on the docker side.

Environment:

  • scaleway/scaleway/docker-machine-driver-scaleway: stable 1.0.1, HEAD
  • docker-machine version 0.7.0, build a650a40

Error on removing a machine

When I remove a machine I have this error:

/ # docker-machine rm tmp
About to remove tmp
WARNING: This action will delete both local reference and remote instance.
Are you sure? (y/n): y
Error removing host "tmp": unexpected end of JSON input

This error is annoying because server is really removed, but it stay listed on Docker machine.

/ # docker-machine ls
NAME   ACTIVE   DRIVER           STATE   URL   SWARM   DOCKER    ERRORS
tmp    -        scaleway(VC1S)   Error                 Unknown   StatusCode: 404, Type: unknown_resource, APIMessage: "898eac01-bf4f-40ef-ab4e-0cb35621e3fa" not found

Brew install archive sha256 mismatch

brew install scaleway/scaleway/docker-machine-driver-scaleway
==> Installing docker-machine-driver-scaleway from scaleway/scaleway
==> Downloading https://github.com/scaleway/docker-machine-driver-scaleway/archive/v1.3.tar.gz
==> Downloading from https://codeload.github.com/scaleway/docker-machine-driver-scaleway/tar.gz/v1.3
######################################################################## 100,0%
Error: SHA256 mismatch
Expected: 1f52d9cb308b0d94f96ab2d37113940408981c9986189126beb79c6ded7d4276
Actual: e30253c38cb3f43e66be2ca6dd9f58da870237002ee7a9a4a57d3a29bf45a0da

Error running docker-machine rm

I get an error when trying to remove a node using docker-machine rm. My docker-machine command errored out, so the node wasn't actually created, but was registered in docker-machine.

Error:
Error removing host "node03": StatusCode: 405, Type: 405, APIMessage: The method is not allowed for the requested URL.

The rm command works as expected if the node is successfully created on scaleway.

cannot execute binary file: Exec format error

I did exact instructions as in you README and it doesn't work

# Download the binary (this example downloads the binary for darwin amd64)
$ curl -sL https://github.com/scaleway/docker-machine-driver-scaleway/releases/download/v1.2.1/docker-machine-driver-scaleway_1.2.1_darwin_amd64.zip -O
$ unzip docker-machine-driver-scaleway_1.2.1_darwin_amd64.zip

# Make it executable and copy the binary in a directory accessible with your $PATH
$ chmod +x docker-machine-driver-scaleway_1.2.1_darwin_amd64/docker-machine-driver-scaleway
$ sudo cp docker-machine-driver-scaleway_1.2.1_darwin_amd64/docker-machine-driver-scaleway /usr/local/bin/

Trying to execute docker-machine-driver-scaleway:

-bash: /usr/local/bin/docker-machine-driver-scaleway: cannot execute binary file: Exec format error

Information about my os:

Linux debian 3.16.0-4-amd64 #1 SMP Debian 3.16.39-1+deb8u1 (2017-02-22) x86_64 GNU/Linux

docker-machine hangs on server creation

I was able to create instance at scaleway with docker-machine, and i see it in "Running" state in dashboard however "docker-machine ls" shows me

NAME                   ACTIVE   DRIVER           STATE     URL   SWARM   DOCKER    ERRORS
sample-scaleway4.com            scaleway(VC1S)   Timeout

however docker-machine status shows "Running" state
Any hints ?

Add instruction on installing precompiled driver

It's unclear, how to install the precompiled binary version.

I suggest adding more details to documentation, like that:

  1. Download a binary, e. g.

    wget https://github.com/scaleway/docker-machine-driver-scaleway/releases/download/v1.2.1/docker-machine-driver-scaleway-linux-amd64

  2. Make it executable and place under the name docker-machine-driver-scaleway so it will be accessible in your PATH

    chmod +x docker-machine-driver-scaleway-linux-amd64
    sudo cp docker-machine-driver-scaleway-linux-amd64 /usr/local/bin/docker-machine-driver-scaleway

Unable to create 4 disks each 50GB for VC1L

I am able to start an instance of VC1L from scaleway.com interface however it appears to be like there is no option for going custom disk configuration while creating VC1L or any other type of server from scaleway docker machine driver.

There is just -scaleway-volumes="50G" option which adds just additional X GB volume however for hadoop cluster operations I explicitly need to divide that 200GB into 50GB per partition.

Multiarch

  • add an example of multiarch cluster
  • see how we can improve docker-machine ls to reflect architecture (using label ?)

docker-machine rm hangs if server doesn't exist

I tried the binary v1.4-dev from this PR #85 (comment)

➜  Downloads docker-machine rm scw2
About to remove scw2
WARNING: This action will delete both local reference and remote instance.
Are you sure? (y/n): y
^C
➜  Downloads docker-machine rm scw2 --force
About to remove scw2
WARNING: This action will delete both local reference and remote instance.
^C

error provisioning machine

hello,
I can not create a machine on scaleway with docker-machine and the scaleway driver since yesterday at the end of the day.
set up: docker for mac
Version 18.03.1-ce-mac65 (24312)
docker-machine version 0.14.0

with the following command:
docker-machine create -d scaleway --scaleway-token=MYSCWTOKEN --scaleway-organization =MYSCWORG --scaleway-name="my-cloud" my-cloud
I get as error response:
Error creating machine: Error in driver during machine creation: Too many candidates for ubuntu-xenial (2)

I tried many thing, like with --scaleway-commercial-type, because VC1S by default seems to not be anymore in your commercials offers:
--scaleway-commercial-type "START1-S"
error response:
Error creating machine: Error in driver during machine creation: START1-S wrong commercial type

Then I tried to call image by id from scaleway image hub:
--scaleway-image=c7dd3987-4b40-48d7-9481-b7fd2e597737
error response:
Error creating machine: Error in driver during machine creation: No such bootscript: docker

I've just tried with --scaleway-commercial-type "C2S" wich is still in your offers:
error reponse:
Error creating machine: Error in driver during machine creation: {"message": "Internal error", "type": "server_error"}

Can you help me and / or give me guidance on the subject?
Thank you in advance and have a good day !

Cannot use alpine as image

docker-machine version 0.8.2, build e18a919
scaleway/scaleway/docker-machine-driver-scaleway: stable 1.3

$ docker-machine create -d scaleway --scaleway-token=xxx --scaleway-organization=yyy --scaleway-name="node01" --swarm --swarm-master --scaleway-image="alpine" --scaleway-region="ams1" node01

Gives:

Running pre-create checks...
Creating machine...
(node01) Creating SSH key...
(node01) Creating server...
(node01) Starting server...
Waiting for machine to be running, this may take a few minutes...

Detecting operating system of created instance...
Waiting for SSH to be available...








Detecting the provisioner...
Error creating machine: Error detecting OS: OS type not recognized

Default machine image does not exist

Using the vanilla formula from documentation:

user@bigpc ~> docker-machine create -d scaleway my-scaleway-docker-machine
Running pre-create checks...
Creating machine...
(my-scaleway-docker-machine) Creating SSH key...
(my-scaleway-docker-machine) Creating server...
Error creating machine: Error in driver during machine creation: No such image (zone par1, arch x86_64) : ubuntu-xenial

ARM64 Support

Any idea when I can use docker-machine-driver-scaleway on a ARM64 servers? I assume currently I cannot do this currently as I tried

docker-machine create -d scaleway --scaleway-commercial-type=ARM64-2GB \
  --scaleway-token=$TOKEN --scaleway-organization=$ACCESS_KEY \
  --scaleway-name="cloud-scaleway-arm64-1" --engine-install-url="http://bit.ly/1sf3j8V" \
  cloud-scaleway-arm64

Running pre-create checks...
Creating machine...
(cloud-scaleway-arm64) Creating SSH key...
(cloud-scaleway-arm64) Creating server...
Error creating machine: Error in driver during machine creation: ARM64-2GB wrong commercial type

machine creation failure with latest docker (17-07-02)

creating a machine I'm getting the following error

➤  docker-machine create -d scaleway --scaleway-commercial-type 'C2S' --scaleway-name ${NAME} ${NAME}
Running pre-create checks...
Creating machine...
(foobar) Creating SSH key...
(foobar) Creating server...
(foobar) Starting server...
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
Detecting the provisioner...
Provisioning with ubuntu(systemd)...
Installing Docker...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
Error creating machine: Error running provisioning: ssh command error:
command : sudo systemctl -f start docker
err     : exit status 1
output  : Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.

If I login with ssh (which works fine) I get:

root@foobar:~# systemctl status docker.service
● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/docker.service.d
           └─10-machine.conf
   Active: inactive (dead) (Result: exit-code) since Sun 2017-07-02 18:02:08 UTC; 52s ago
     Docs: https://docs.docker.com
  Process: 11253 ExecStart=/usr/bin/docker daemon -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock --storage-driver aufs --tlsverify --tlscacert /etc/docker/ca
 Main PID: 11253 (code=exited, status=1/FAILURE)

Jul 02 18:02:08 foobar systemd[1]: Failed to start Docker Application Container Engine.
Jul 02 18:02:08 foobar systemd[1]: docker.service: Unit entered failed state.
Jul 02 18:02:08 foobar systemd[1]: docker.service: Failed with result 'exit-code'.
Jul 02 18:02:08 foobar systemd[1]: docker.service: Service hold-off time over, scheduling restart.
Jul 02 18:02:08 foobar systemd[1]: Stopped Docker Application Container Engine.
Jul 02 18:02:08 foobar systemd[1]: docker.service: Start request repeated too quickly.
Jul 02 18:02:08 foobar systemd[1]: Failed to start Docker Application Container Engine.

Tried twice from scratch and got the same error both times.

I created a machine with size C2M a couple of weeks ago and it went fine. Is this a regression or a size issue?

Please respond ASAP.

local version:

 ➤  machine -v
docker-machine version 0.10.0, build 76ed2a6
 ➤  docker version
Docker version 17.05.0-ce, build 89658be
Client:
 Version:      17.05.0-ce
 API version:  1.29
 Go version:   go1.7.5
 Git commit:   89658be
 Built:        Thu May  4 22:27:42 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.05.0-ce
 API version:  1.29 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   89658be
 Built:        Thu May  4 22:27:42 2017
 OS/Arch:      linux/amd64
 Experimental: false

Let me know if you need any more information.

problem with creating new docker-machine

Hi. I have problem with creating new VM by scaleway docker-machine driver.

There is part of debug output:

(bench-2) DBG |   IMAGEID           FROM                                NAME                      ZONE                ARCH
(bench-2) DBG | - cd65a9a3          bootscript:x86-64-4-9-20-docker-1   x86_64 4.9.20 docker #1                       x86_64
(bench-2) DBG | - b5c5261e          bootscript:x86-64-4-10-8-docker-1   x86_64 4.10.8 docker #1                       x86_64
Error creating machine: Error in driver during machine creation: Too many candidates for docker (2)
notifying bugsnag: [Error creating machine: Error in driver during machine creation: Too many candidates for docker (2)]

There is output from "[GET]: https://cp-par1.scaleway.com/bootscripts":

Big json

some text

{
  "bootscripts": [
    {
      "kernel": "kernel/armv7l-4.10.8-apparmor-1",
      "initrd": "initrd/uInitrd-Linux-armv7l-v3.12.3",
      "default": false,
      "bootcmdargs": "LINUX_COMMON ip=:::::eth0: boot=local",
      "architecture": "arm",
      "title": "armv7l 4.10.8 apparmor #1",
      "dtb": "dtb/c1-armv7l-4.10.8-apparmor-1",
      "organization": "11111111-1111-4111-8111-111111111111",
      "id": "70496d70-3d88-4363-b7ee-517ece9588d3",
      "public": true
    },
    {
      "kernel": "kernel/armv7l-4.10.8-debug-1",
      "initrd": "initrd/uInitrd-Linux-armv7l-v3.12.3",
      "default": false,
      "bootcmdargs": "LINUX_COMMON ip=:::::eth0: boot=local",
      "architecture": "arm",
      "title": "armv7l 4.10.8 debug #1",
      "dtb": "dtb/c1-armv7l-4.10.8-debug-1",
      "organization": "11111111-1111-4111-8111-111111111111",
      "id": "e54d2129-628f-425d-8994-acfe16d9651e",
      "public": true
    },
    {
      "kernel": "kernel/armv7l-4.10.8-docker-1",
      "initrd": "initrd/uInitrd-Linux-armv7l-v3.12.3",
      "default": false,
      "bootcmdargs": "LINUX_COMMON ip=:::::eth0: boot=local",
      "architecture": "arm",
      "title": "armv7l 4.10.8 docker #1",
      "dtb": "dtb/c1-armv7l-4.10.8-docker-1",
      "organization": "11111111-1111-4111-8111-111111111111",
      "id": "13c828f3-6138-43fb-b8c6-5e54838c7d9d",
      "public": true
    },
    {
      "kernel": "kernel/armv7l-4.10.8-fedora-1",
      "initrd": "initrd/uInitrd-Linux-armv7l-v3.12.3",
      "default": false,
      "bootcmdargs": "LINUX_COMMON ip=:::::eth0: boot=local",
      "architecture": "arm",
      "title": "armv7l 4.10.8 fedora #1",
      "dtb": "dtb/c1-armv7l-4.10.8-fedora-1",
      "organization": "11111111-1111-4111-8111-111111111111",
      "id": "f3518731-3889-4e2a-93f6-a6d387e0f028",
      "public": true
    },
    {
      "kernel": "kernel/armv7l-4.10.8-std-1",
      "initrd": "initrd/uInitrd-Linux-armv7l-v3.12.3",
      "default": false,
      "bootcmdargs": "LINUX_COMMON ip=:::::eth0: boot=local",
      "architecture": "arm",
      "title": "armv7l 4.10.8 std #1 (stable)",
      "dtb": "dtb/c1-armv7l-4.10.8-std-1",
      "organization": "11111111-1111-4111-8111-111111111111",
      "id": "cb7dbd4c-e0e6-49c1-b765-854a75c8ff10",
      "public": true
    },
    {
      "kernel": "kernel/armv7l-4.4.59-std-1",
      "initrd": "initrd/uInitrd-Linux-armv7l-v3.12.3",
      "default": false,
      "bootcmdargs": "LINUX_COMMON ip=:::::eth0: boot=local",
      "architecture": "arm",
      "title": "armv7l 4.4.59 std #1 (longterm)",
      "dtb": "dtb/c1-armv7l-4.4.59-std-1",
      "organization": "11111111-1111-4111-8111-111111111111",
      "id": "131e6aac-7446-4c61-bec7-3261b51a2b48",
      "public": true
    },
    {
      "kernel": "kernel/armv7l-4.9.20-docker-1",
      "initrd": "initrd/uInitrd-Linux-armv7l-v3.12.3",
      "default": false,
      "bootcmdargs": "LINUX_COMMON ip=:::::eth0: boot=local",
      "architecture": "arm",
      "title": "armv7l 4.9.20 docker #1",
      "dtb": "dtb/c1-armv7l-4.9.20-docker-1",
      "organization": "11111111-1111-4111-8111-111111111111",
      "id": "5647fa21-73cd-4818-b603-6b2f60b27054",
      "public": true
    },
    {
      "kernel": "kernel/armv7l-4.9.20-std-1",
      "initrd": "initrd/uInitrd-Linux-armv7l-v3.12.3",
      "default": true,
      "bootcmdargs": "LINUX_COMMON ip=:::::eth0: boot=local",
      "architecture": "arm",
      "title": "armv7l 4.9.20 std #1 (longterm)",
      "dtb": "dtb/c1-armv7l-4.9.20-std-1",
      "organization": "11111111-1111-4111-8111-111111111111",
      "id": "14c74c85-81bd-406e-bd11-dff0444069ce",
      "public": true
    },
    {
      "kernel": "kernel/pimouss-uImage-3.2.34-30-std",
      "initrd": "initrd/uInitrd-Linux-armv7l-v3.12.3",
      "default": false,
      "bootcmdargs": "LINUX_COMMON ip=:::::eth0: boot=rescue rescue_image=http://169.254.42.24/image-archives/armv7l-rescue-latest.tar",
      "architecture": "arm",
      "title": "armv7l Rescue",
      "dtb": "",
      "organization": "11111111-1111-4111-8111-111111111111",
      "id": "a5485ac0-7611-44fb-8704-b409fcf71e00",
      "public": true
    },
    {
      "kernel": "http://169.254.42.24/kernel/x86_64-4.10.8-apparmor-1/vmlinuz-4.10.8-apparmor-1",
      "initrd": "http://169.254.42.24/initrd/initrd-Linux-x86_64-v3.12.3.gz",
      "default": false,
      "bootcmdargs": "LINUX_COMMON ip=:::::eth0: boot=local",
      "architecture": "x86_64",
      "title": "x86_64 4.10.8 apparmor #1",
      "dtb": "",
      "organization": "11111111-1111-4111-8111-111111111111",
      "id": "434bb38e-714f-4e01-a1cf-813b8897b3af",
      "public": true
    },
    {
      "kernel": "http://169.254.42.24/kernel/x86_64-4.10.8-debug-1/vmlinuz-4.10.8-debug-1",
      "initrd": "http://169.254.42.24/initrd/initrd-Linux-x86_64-v3.12.3.gz",
      "default": false,
      "bootcmdargs": "LINUX_COMMON ip=:::::eth0: boot=local",
      "architecture": "x86_64",
      "title": "x86_64 4.10.8 debug #1",
      "dtb": "",
      "organization": "11111111-1111-4111-8111-111111111111",
      "id": "4ef6d587-7a24-4c87-8186-9acc519f1c69",
      "public": true
    },
    {
      "kernel": "http://169.254.42.24/kernel/x86_64-4.10.8-docker-1/vmlinuz-4.10.8-docker-1",
      "initrd": "http://169.254.42.24/initrd/initrd-Linux-x86_64-v3.12.3.gz",
      "default": false,
      "bootcmdargs": "LINUX_COMMON ip=:::::eth0: boot=local",
      "architecture": "x86_64",
      "title": "x86_64 4.10.8 docker #1",
      "dtb": "",
      "organization": "11111111-1111-4111-8111-111111111111",
      "id": "b5c5261e-176d-43bb-bbae-7c9f211cfce3",
      "public": true
    },
    {
      "kernel": "http://169.254.42.24/kernel/x86_64-4.10.8-fedora-1/vmlinuz-4.10.8-fedora-1",
      "initrd": "http://169.254.42.24/initrd/initrd-Linux-x86_64-v3.12.3.gz",
      "default": false,
      "bootcmdargs": "LINUX_COMMON ip=:::::eth0: boot=local",
      "architecture": "x86_64",
      "title": "x86_64 4.10.8 fedora #1",
      "dtb": "",
      "organization": "11111111-1111-4111-8111-111111111111",
      "id": "f0c809a3-15a5-4fa5-92a7-6e81defe219b",
      "public": true
    },
    {
      "kernel": "http://169.254.42.24/kernel/x86_64-4.10.8-rancher-1/vmlinuz-4.10.8-rancher-1",
      "initrd": "http://169.254.42.24/initrd/initrd-Linux-x86_64-v3.12.3.gz",
      "default": false,
      "bootcmdargs": "LINUX_COMMON ip=:::::eth0: boot=local",
      "architecture": "x86_64",
      "title": "x86_64 4.10.8 rancher #1",
      "dtb": "",
      "organization": "11111111-1111-4111-8111-111111111111",
      "id": "311d9f4b-52c4-424b-a7a0-e6aa6819478c",
      "public": true
    },
    {
      "kernel": "http://169.254.42.24/kernel/x86_64-4.10.8-std-1/vmlinuz-4.10.8-std-1",
      "initrd": "http://169.254.42.24/initrd/initrd-Linux-x86_64-v3.12.3.gz",
      "default": false,
      "bootcmdargs": "LINUX_COMMON ip=:::::eth0: boot=local",
      "architecture": "x86_64",
      "title": "x86_64 4.10.8 std #1 (stable)",
      "dtb": "",
      "organization": "11111111-1111-4111-8111-111111111111",
      "id": "8fd15f37-c176-49a4-9e1d-10eb912942ea",
      "public": true
    },
    {
      "kernel": "http://169.254.42.24/kernel/x86_64-4.4.59-std-1/vmlinuz-4.4.59-std-1",
      "initrd": "http://169.254.42.24/initrd/initrd-Linux-x86_64-v3.12.3.gz",
      "default": false,
      "bootcmdargs": "LINUX_COMMON ip=:::::eth0: boot=local",
      "architecture": "x86_64",
      "title": "x86_64 4.4.59 std #1 (longterm)",
      "dtb": "",
      "organization": "11111111-1111-4111-8111-111111111111",
      "id": "7f25108d-cafc-4763-a129-084e1affd36d",
      "public": true
    },
    {
      "kernel": "http://169.254.42.24/kernel/x86_64-4.9.20-docker-1/vmlinuz-4.9.20-docker-1",
      "initrd": "http://169.254.42.24/initrd/initrd-Linux-x86_64-v3.12.3.gz",
      "default": false,
      "bootcmdargs": "LINUX_COMMON ip=:::::eth0: boot=local",
      "architecture": "x86_64",
      "title": "x86_64 4.9.20 docker #1",
      "dtb": "",
      "organization": "11111111-1111-4111-8111-111111111111",
      "id": "cd65a9a3-b9db-4b3f-85a7-9aaa9e29d5da",
      "public": true
    },
    {
      "kernel": "http://169.254.42.24/kernel/x86_64-4.9.20-std-1/vmlinuz-4.9.20-std-1",
      "initrd": "http://169.254.42.24/initrd/initrd-Linux-x86_64-v3.12.3.gz",
      "default": true,
      "bootcmdargs": "LINUX_COMMON ip=:::::eth0: boot=local",
      "architecture": "x86_64",
      "title": "x86_64 4.9.20 std #1 (longterm)",
      "dtb": "",
      "organization": "11111111-1111-4111-8111-111111111111",
      "id": "5a1091c5-6e7b-45d3-8afc-c1246b0a9913",
      "public": true
    },
    {
      "kernel": "http://169.254.42.24/kernel/x86_64-4.4.4-docker-3/vmlinuz-4.4.4-docker-3",
      "initrd": "http://169.254.42.24/initrd/initrd-Linux-x86_64-v3.12.3.gz",
      "default": false,
      "bootcmdargs": "LINUX_COMMON ip=:::::eth0: boot=rescue rescue_image=http://169.254.42.24/image-archives/x86_64-rescue-latest.tar",
      "architecture": "x86_64",
      "title": "x86_64 rescue",
      "dtb": "",
      "organization": "11111111-1111-4111-8111-111111111111",
      "id": "bf4cfb66-a2f8-4f77-9b1c-665cdfdf208e",
      "public": true
    }
  ]
}

I was tried to fix it by setting defaultBootscript variable to 8fd15f37-c176-49a4-9e1d-10eb912942ea (I found that ID here). But it fail with start docker on instance. There is output from journalctl:

-- Unit docker.service has begun starting up.
Apr 09 09:42:51 bench-2 docker[11354]: Command "daemon" is deprecated, and will be removed in Docker 17.12. Please run `dockerd` directly.
Apr 09 09:42:51 bench-2 docker[11354]: time="2017-04-09T09:42:51.090937134Z" level=info msg="libcontainerd: new containerd process, pid: 11366"
Apr 09 09:42:52 bench-2 docker[11354]: Error starting daemon: error initializing graphdriver: driver not supported
Apr 09 09:42:52 bench-2 systemd[1]: docker.service: Main process exited, code=exited, status=1/FAILURE
Apr 09 09:42:52 bench-2 systemd[1]: Failed to start Docker Application Container Engine.

So, I try older bootscript cd65a9a3-b9db-4b3f-85a7-9aaa9e29d5da and it was fixed my problem, but I don't think it is a permanent solution.

Select an existing IP on machine creation

When creating a machine with the driver we cannot choose the machine IP. And if try to change it from the scaleway backend this break the link between the local docker machine and the actual machine.

change default bootscript?

with the latest (see #89) version of the driver, we can create new machine but only if the --scaleway-bootscript="" is present. maybe it should be the default ? or the scaleway image should be fixed to add the docker bootscript?

Error creating machine: Error in driver during machine creation: No such bootscript: docker

Docker bootscript not compatible with Docker swarm mode

I just wanted to let you know, that the default bootscript used by this driver is not compatible with Docker swarm mode.

I had to change my Ubuntu Xenial bootscript to x86_64 mainline 4.4.105 rev1 in order to get swarm mode working, as described in issue https://github.com/scaleway/image-ubuntu/issues/78#issuecomment-333669414.

You should consider to either

  • fix the docker bootscript
  • change the default bootscript to mainline
  • describe this issue in the readme file

Cheers! 🐳

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.