docker-toolbox
docker-toolbox 是为windows上进行虚拟化Dockers环境的一个容器。
其实质上是通过virtualBox虚拟机进行虚拟出的系统。在windows环境下,可以通过docker-machine命令来创建虚拟机(容器)。
在使用docker-machine创建虚拟机的时候,有多种命令供使用。
Usage: docker-machine [OPTIONS] COMMAND [arg...]
Create and manage machines running Docker.
Version: 0.14.0, build 89b8332
Author:
Docker Machine Contributors - <https://github.com/docker/machine>
Options:
--debug, -D Enable debug mode
--storage-path, -s "E:\DockerMachine"
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 version
Commands:
active Print which machine is active
config Print the connection config for machine
create Create a machine
env Display the commands to set up the environment for the Docker client
inspect Inspect information about a machine
ip Get the IP address of a machine
kill Kill a machine
ls List machines
provision Re-provision existing machines
regenerate-certs Regenerate TLS Certificates for a machine
restart Restart a machine
rm Remove a machine
ssh Log into or run a command on a machine with SSH.
scp Copy files between machines
mount Mount or unmount a directory from a machine with SSHFS.
start Start a machine
status Get the status of a machine
stop Stop a machine
upgrade Upgrade a machine to the latest version of Docker
url Get the URL of a machine
version Show the Docker Machine version or a machine docker version
help Shows a list of commands or help for one command
Run 'docker-machine COMMAND --help' for more information on a command.
上面的命令分为2部分,命令+选项,命令中,有创建虚拟机的(create),删除虚拟机(rm)
开启虚拟机的(start),停止虚拟机的(stop)
命令示例
ls命令
列出当前所有的docker容器。
upgrade命令
一般情况下,更新或者创建的时候,都会从github下载最新的docker镜像下来,但是鉴于下载速度过于缓慢。笔者一般都是用浏览器从github 上下载下来,替换到目标下载路径,再次重试更新。
替换掉目标目录的同名文件
再次执行命令docker upgrade default
升级之后,可以通过以下命令docker-machine ls
查看容器的版本
对比我们之前的版本,确实是升级了。
dockered 服务
我们知道,dockerd服务在启动的时候,会读取系统环境变量的信息。并且根据这些配置去
初始化。参考官方的信息
https://docs.docker.com/engine/reference/commandline/dockerd/
docker-toolbox
在/var/lib/boot2docker路径下,有一个profile文件,这个文件在linux 启动的时候,会被加载,并且设置一定的环境变量。
在其Linux环境下的,存在着一个启动的脚本。所在位置如下
etc/init/docker
这个脚本定义了系统启动的时候,设置了一部分的参数,供dockerd服务启动的时候使用。我们如果需要设置镜像,可以通过设置一部分参数
dockerd --data-root "$DOCKER_DIR" \
-H unix:// $EXTRA_ARGS \
--pidfile "$PIDFILE" >> /var/lib/boot2docker/log/docker.log 2>&1 &
可以看到,在这个脚本中,根据系统现有的配置信息,设置了一些必要的环境变量,而这些环境变量,就是我们( /var/lib/boot2docker/profile)在这些文件中看到的,或者动态引用的。
EXTRA_ARGS='
--label provider=virtualbox
--registry-mirror=http://hub-mirror.c.163.com
'
CACERT=/var/lib/boot2docker/ca.pem
DOCKER_HOST='-H tcp://0.0.0.0:2376'
DOCKER_STORAGE=aufs
DOCKER_TLS=auto
SERVERKEY=/var/lib/boot2docker/server-key.pem
SERVERCERT=/var/lib/boot2docker/server.pem
echo "app: $0 pid:$$"
容器里面如何重启dockerd服务
停止
启动
docker-toolbox 更换hub
可能你会问,怎么进入docker-toolbox,一般来说,可以通过
docker-machine ls 查看所有的虚拟机
查看得到其ip 是192.168.99.100 ,然后,使用ssh 进行连接
默认的用户名是docker,密码是tcuser,登录之后,就可以进入类似windows环境下kitematic类似的界面了。