当前位置: 代码迷 >> 综合 >> How to manage docker containers based on docker-machine
  详细解决方案

How to manage docker containers based on docker-machine

热度:87   发布时间:2023-12-15 00:08:07.0

??今天我们来简要介绍一下docker-machine的用法。

1 安装

??在安装好docker-machine之前,务必要安装好docker\ Virtualbox,关于Docker的安装请参阅文章《Docker实战:Docker安装》一文。

lwk@qwfys:~$ sudo wget https://github.com/docker/machine/releases/download/v0.16.0/docker-machine-`uname -s`-`uname -m` -O /usr/local/bin/docker-machine
[sudo] password for lwk:       
--2019-06-29 12:38:21--  https://github.com/docker/machine/releases/download/v0.16.0/docker-machine-Linux-x86_64
Resolving github.com (github.com)... 52.74.223.119
Connecting to github.com (github.com)|52.74.223.119|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://github-production-release-asset-2e65be.s3.amazonaws.com/27494663/e85b8180-e350-11e8-8079-c3bbd3ef5d6a?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20190629%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190629T043823Z&X-Amz-Expires=300&X-Amz-Signature=b9452e0de5a6dfb5b6bfbd6b590ef3b4c5a7b371fc5b56254a348f9c67f4c6bb&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Ddocker-machine-Linux-x86_64&response-content-type=application%2Foctet-stream [following]
--2019-06-29 12:38:22--  https://github-production-release-asset-2e65be.s3.amazonaws.com/27494663/e85b8180-e350-11e8-8079-c3bbd3ef5d6a?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20190629%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190629T043823Z&X-Amz-Expires=300&X-Amz-Signature=b9452e0de5a6dfb5b6bfbd6b590ef3b4c5a7b371fc5b56254a348f9c67f4c6bb&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Ddocker-machine-Linux-x86_64&response-content-type=application%2Foctet-stream
Resolving github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)... 52.216.164.51
Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|52.216.164.51|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 28164576 (27M) [application/octet-stream]
Saving to: ‘/usr/local/bin/docker-machine’
/usr/local/bin/docker-machine                                1%[>                                                                                                                                         ] 322.56K  3.38KB/s    eta 2h 17mlwk@qwfys:~$

OR

sudo curl -L -o /usr/local/bin/docker-machine https://github.com/docker/machine/releases/download/v0.16.2/docker-machine-`uname -s`-`uname -m` && sudo chmod +x /usr/local/bin/docker-machine

OR

sudo wget -c -O /usr/local/bin/docker-machine https://github.com/docker/machine/releases/download/v0.16.2/docker-machine-`uname -s`-`uname -m` && sudo chmod +x /usr/local/bin/docker-machine
lwk@qwfys:~$
lwk@qwfys:~$ sudo chmod +x /usr/local/bin/docker-machine
lwk@qwfys:~$ 
lwk@qwfys:~$ base=https://raw.githubusercontent.com/docker/machine/v0.16.0
lwk@qwfys:~$ for i in docker-machine-prompt.bash docker-machine-wrapper.bash docker-machine.bash
> do
>   sudo wget "$base/contrib/completion/bash/${i}" -P /etc/bash_completion.d
> done
[sudo] password for lwk:       
--2019-06-29 12:54:57--  https://raw.githubusercontent.com/docker/machine/v0.16.0/contrib/completion/bash/docker-machine-prompt.bash
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.76.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.76.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1469 (1.4K) [text/plain]
Saving to: ‘/etc/bash_completion.d/docker-machine-prompt.bash’docker-machine-prompt.bash                                100%[=========================================================================================================================================>]   1.43K  --.-KB/s    in 0s      2019-06-29 12:54:59 (95.7 MB/s) - ‘/etc/bash_completion.d/docker-machine-prompt.bash’ saved [1469/1469]--2019-06-29 12:54:59--  https://raw.githubusercontent.com/docker/machine/v0.16.0/contrib/completion/bash/docker-machine-wrapper.bash
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.76.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.76.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1525 (1.5K) [text/plain]
Saving to: ‘/etc/bash_completion.d/docker-machine-wrapper.bash’docker-machine-wrapper.bash                               100%[=========================================================================================================================================>]   1.49K  --.-KB/s    in 0s      2019-06-29 12:55:00 (101 MB/s) - ‘/etc/bash_completion.d/docker-machine-wrapper.bash’ saved [1525/1525]--2019-06-29 12:55:00--  https://raw.githubusercontent.com/docker/machine/v0.16.0/contrib/completion/bash/docker-machine.bash
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.76.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.76.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 12211 (12K) [text/plain]
Saving to: ‘/etc/bash_completion.d/docker-machine.bash’docker-machine.bash                                       100%[=========================================================================================================================================>]  11.92K  19.4KB/s    in 0.6s    2019-06-29 12:55:02 (19.4 KB/s) - ‘/etc/bash_completion.d/docker-machine.bash’ saved [12211/12211]lwk@qwfys:~$ source /etc/bash_completion.d/docker-machine-prompt.bash
lwk@qwfys:~$ docker-machine
Usage: docker-machine [OPTIONS] COMMAND [arg...]Create and manage machines running Docker.Version: 0.16.0, build 702c267fAuthor:Docker Machine Contributors - <https://github.com/docker/machine>Options:--debug, -D						Enable debug mode--storage-path, -s "/home/lwk/.docker/machine"	Configures storage path [$MACHINE_STORAGE_PATH]--tls-ca-cert 					CA to verify remotes against [$MACHINE_TLS_CA_CERT]--tls-ca-key 						Private key to generate certificates [$MACHINE_TLS_CA_KEY]--tls-client-cert 					Client cert to use for TLS [$MACHINE_TLS_CLIENT_CERT]--tls-client-key 					Private key used in client TLS auth [$MACHINE_TLS_CLIENT_KEY]--github-api-token 					Token to use for requests to the Github API [$MACHINE_GITHUB_API_TOKEN]--native-ssh						Use the native (Go-based) SSH implementation. [$MACHINE_NATIVE_SSH]--bugsnag-api-token 					BugSnag API token for crash reporting [$MACHINE_BUGSNAG_API_TOKEN]--help, -h						show help--version, -v						print the versionCommands:active		Print which machine is activeconfig		Print the connection config for machinecreate		Create a machineenv			Display the commands to set up the environment for the Docker clientinspect		Inspect information about a machineip			Get the IP address of a machinekill			Kill a machinels			List machinesprovision		Re-provision existing machinesregenerate-certs	Regenerate TLS Certificates for a machinerestart		Restart a machinerm			Remove a machinessh			Log into or run a command on a machine with SSH.scp			Copy files between machinesmount			Mount or unmount a directory from a machine with SSHFS.start			Start a machinestatus		Get the status of a machinestop			Stop a machineupgrade		Upgrade a machine to the latest version of Dockerurl			Get the URL of a machineversion		Show the Docker Machine version or a machine docker versionhelp			Shows a list of commands or help for one commandRun 'docker-machine COMMAND --help' for more information on a command.
lwk@qwfys:~$ docker-machine version
docker-machine version 0.16.0, build 702c267f
lwk@qwfys:~$ 

??至此docker machine安装完成。

2 创建虚拟机

lwk@qwfys:~$ ll ~/Downloads/boot2docker.iso 
-rw-rw-r-- 1 lwk lwk 47185920 Jun 28 10:20 /home/lwk/Downloads/boot2docker.iso
lwk@qwfys:~$
lwk@qwfys:~$ docker-machine create --driver virtualbox --virtualbox-boot2docker-url=file:///home/lwk/Downloads/boot2docker.iso default
Running pre-create checks...
Creating machine...
(default) Downloading /home/lwk/.docker/machine/cache/boot2docker.iso from file:///home/lwk/Downloads/boot2docker.iso...
(default) Creating VirtualBox VM...
(default) Creating SSH key...
(default) Starting the VM...
(default) Check network to re-create if needed...
(default) Found a new host-only adapter: "vboxnet0"
(default) Waiting for an IP...
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 boot2docker...
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 default
lwk@qwfys:~$ 
lwk@qwfys:~$ docker-machine ls
NAME      ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER     ERRORS
default   -        virtualbox   Running   tcp://192.168.99.100:2376           v18.09.7   
lwk@qwfys:~$
lwk@qwfys:~$ docker-machine env default 
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.100:2376"
export DOCKER_CERT_PATH="/home/lwk/.docker/machine/machines/default"
export DOCKER_MACHINE_NAME="default"
# Run this command to configure your shell: 
# eval $(docker-machine env default)
lwk@qwfys:~$ 
lwk@qwfys:~$ docker-machine ssh default( '>')/) TC (\   Core is distributed with ABSOLUTELY NO WARRANTY.(/-_--_-\)           www.tinycorelinux.netdocker@default:~$ 
  相关解决方案