{"id":645,"date":"2023-02-26T13:37:05","date_gmt":"2023-02-26T05:37:05","guid":{"rendered":"https:\/\/www.appblog.cn\/?p=645"},"modified":"2023-04-29T19:57:44","modified_gmt":"2023-04-29T11:57:44","slug":"docker-machine-install-and-use","status":"publish","type":"post","link":"https:\/\/www.appblog.cn\/index.php\/2023\/02\/26\/docker-machine-install-and-use\/","title":{"rendered":"Docker Machine\u5b89\u88c5\u53ca\u4f7f\u7528"},"content":{"rendered":"<h2>\u5b89\u88c5 Docker Machine<\/h2>\n<p>\u53c2\u8003\uff1a<a target=\"_blank\" rel=\"noopener\" href=\"https:\/\/docs.docker.com\/machine\/install-machine\/\">https:\/\/docs.docker.com\/machine\/install-machine\/<\/a><\/p>\n<p>CentOS\uff1a<\/p>\n<p><!-- more --><\/p>\n<pre><code>$ curl -L https:\/\/github.com\/docker\/machine\/releases\/download\/v0.10.0\/docker-machine-`uname -s`-`uname -m` &gt;\/tmp\/docker-machine\n$ chmod +x \/tmp\/docker-machine\n$ sudo cp \/tmp\/docker-machine \/usr\/local\/bin\/docker-machine\n$ docker-machine -v\ndocker-machine version 0.10.0, build 76ed2a6<\/code><\/pre>\n<p>Windows\uff08\u4f7f\u7528git bash\uff09\uff1a<\/p>\n<pre><code>$ if [[ ! -d &quot;$HOME\/bin&quot; ]]; then mkdir -p &quot;$HOME\/bin&quot;; fi &amp;&amp; \\\n  curl -L https:\/\/github.com\/docker\/machine\/releases\/download\/v0.10.0\/docker-machine-Windows-x86_64.exe &gt; &quot;$HOME\/bin\/docker-machine.exe&quot; &amp;&amp; \\\n  chmod +x &quot;$HOME\/bin\/docker-machine.exe&quot;<\/code><\/pre>\n<h2>\u5378\u8f7d Docker Machine<\/h2>\n<p>\u76f4\u63a5\u79fb\u9664\u53ef\u6267\u884c\u6587\u4ef6<\/p>\n<pre><code>rm $(which docker-machine)<\/code><\/pre>\n<h2>\u79fb\u9664\u521b\u5efa\u7684machines<\/h2>\n<p>\uff081\uff09\u79fb\u9664\u6307\u5b9amachine: <\/p>\n<pre><code>docker-machine rm &lt;machine-name&gt;<\/code><\/pre>\n<p>\uff082\uff09\u79fb\u9664\u6240\u6709machines: <\/p>\n<pre><code>docker-machine rm -f $(docker-machine ls -q)<\/code><\/pre>\n<h2>\u5b89\u88c5Dockerized machines<\/h2>\n<h3>\u521b\u5efa manager and worker machines<\/h3>\n<p>Linux\/MAC\u5728Shell\u4e0b\u8fd0\u884c\uff0cWindows\u5728CMD\u4e0b\u8fd0\u884c<\/p>\n<p>Linux\/MAC<\/p>\n<pre><code>docker-machine create --driver virtualbox MACHINE-NAME<\/code><\/pre>\n<p>Windows 10 (\u8fd0\u884cDocker for Windows)<\/p>\n<pre><code>docker-machine create -d hyperv --hyperv-virtual-switch &quot;NETWORK-SWITCH&quot; MACHINE-NAME<\/code><\/pre>\n<blockquote>\n<p>\u6ce8\uff1aWindows 10\u5b89\u88c5Docker for Windows\u540e\u53ea\u80fd\u4f7f\u7528Hyper-V\uff0c\u5426\u5219\u542f\u52a8\u4e00\u76f4\u505c\u7559\u5728Docker is starting<\/p>\n<\/blockquote>\n<p>Windows 7\/8 (\u8fd0\u884cDocker ToolBox)<\/p>\n<pre><code>docker-machine create --driver virtualbox MACHINE-NAME<\/code><\/pre>\n<pre><code>> docker-machine create --driver virtualbox manager  \/\/Docker ToolBox\n> docker-machine create --driver virtualbox worker\n> docker-machine ls  \/\/\u67e5\u770bmachine\u5217\u8868\nNAME      ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER        ERRORS\ndefault   -        virtualbox   Running   tcp:\/\/192.168.99.100:2376           v17.03.0-ce\nmanager   -        virtualbox   Running   tcp:\/\/192.168.99.101:2376           v17.03.0-ce\nworker    -        virtualbox   Running   tcp:\/\/192.168.99.102:2376           v17.03.0-ce\n> docker-machine ip manager  \/\/\u67e5\u770bIP\u4fe1\u606f\n192.168.99.101<\/code><\/pre>\n<h3>\u542f\u52a8\u548c\u505c\u6b62 machines<\/h3>\n<p>\u505c\u6b62\u6307\u4ee4\uff1a<\/p>\n<pre><code>> docker-machine stop &lt;machine-name&gt;<\/code><\/pre>\n<p>\u542f\u52a8\u6307\u4ee4\uff1a<\/p>\n<pre><code>> docker-machine start &lt;machine-name&gt;\n> docker-machine env &lt;machine-name&gt;<\/code><\/pre>\n<p>\u5220\u9664\u6307\u4ee4\uff1a<\/p>\n<pre><code>> docker-machine rm &lt;machine-name&gt;<\/code><\/pre>\n<h3>\u4e0e machines \u4ea4\u4e92<\/h3>\n<h4>\u901a\u8fc7\u9884\u7f6e\u7684Shell\u8fde\u63a5Machine<\/h4>\n<pre><code>> docker-machine env manager  \/\/\u8bbe\u7f6emanager\u7684\u73af\u5883\u53d8\u91cf\nSET DOCKER_TLS_VERIFY=1\nSET DOCKER_HOST=tcp:\/\/192.168.99.101:2376\nSET DOCKER_CERT_PATH=C:\\Users\\yezhou\\.docker\\machine\\machines\\manager\nSET DOCKER_MACHINE_NAME=manager\nSET COMPOSE_CONVERT_WINDOWS_PATHS=true\nREM Run this command to configure your shell:\nREM     @FOR \/f &quot;tokens=*&quot; %i IN (&#039;docker-machine env manager&#039;) DO @%i\n\n> @FOR \/f &quot;tokens=*&quot; %i IN (&#039;docker-machine env manager&#039;) DO @%i  \/\/\u8fde\u63a5manager\n\n> docker-machine ls  \/\/manager\u7684ACTIVE\u72b6\u6001\u5df2\u53d8\u4e3a*\nNAME      ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER        ERRORS\ndefault   -        virtualbox   Running   tcp:\/\/192.168.99.100:2376           v17.03.0-ce\nmanager   *        virtualbox   Running   tcp:\/\/192.168.99.101:2376           v17.03.0-ce\nworker    -        virtualbox   Running   tcp:\/\/192.168.99.102:2376           v17.03.0-ce\n\n> docker run hello-world  \/\/\u5728machine\u4e2d\u6267\u884c\u64cd\u4f5c<\/code><\/pre>\n<h4>\u901a\u8fc7ssh\u8fde\u63a5Machine\uff08\u5728Windows\u7684CMD\u4e0b\u6709\u4e71\u7801\u95ee\u9898\uff09<\/h4>\n<pre><code>> docker-machine ssh worker\n                        ##         .\n                  ## ## ##        ==\n               ## ## ## ## ##    ===\n           \/&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;\\___\/ ===\n      ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ \/  ===- ~~~\n           \\______ o           __\/\n             \\    \\         __\/\n              \\____\\_______\/\n _                 _   ____     _            _\n| |__   ___   ___ | |_|___ \\ __| | ___   ___| | _____ _ __\n| &#039;_ \\ \/ _ \\ \/ _ \\| __| __) \/ _` |\/ _ \\ \/ __| |\/ \/ _ \\ &#039;__|\n| |_) | (_) | (_) | |_ \/ __\/ (_| | (_) | (__|   &lt;  __\/ |\n|_.__\/ \\___\/ \\___\/ \\__|_____\\__,_|\\___\/ \\___|_|\\_\\___|_|\nBoot2Docker version 17.03.0-ce, build HEAD : f11a204 - Thu Mar  2 00:14:47 UTC 2017\nDocker version 17.03.0-ce, build 3a232c8<\/code><\/pre>\n<h4>\u901a\u8fc7\u7b2c\u4e09\u65b9ssh\u5de5\u5177\u8fde\u63a5Machine\uff08\u5728Windows\u4e0b\u63a8\u8350\uff09<\/h4>\n<p>\u5982XShell\u3001SecureCRT\u3001Putty\u7b49<\/p>\n<p>\uff081\uff09Docker\u81ea\u5e26\u9ed8\u8ba4\u865a\u62df\u673a\uff1adefault<\/p>\n<ul>\n<li>IP\u5730\u5740\uff1a192.168.99.100<\/li>\n<li>\u7aef\u53e3\uff1a22<\/li>\n<li>\u9ed8\u8ba4\u8d26\u6237\uff1adocker<\/li>\n<li>\u9ed8\u8ba4\u5bc6\u7801\uff1atcuser<\/li>\n<\/ul>\n<p>\uff082\uff09\u865a\u62df\u673a\uff1amanager<\/p>\n<ul>\n<li>IP\u5730\u5740\uff1a192.168.99.101<\/li>\n<li>\u7aef\u53e3\uff1a22<\/li>\n<li>\u9ed8\u8ba4\u8d26\u6237\uff1adocker<\/li>\n<li>\u9ed8\u8ba4\u5bc6\u7801\uff1atcuser<\/li>\n<\/ul>\n<p>\uff083\uff09\u865a\u62df\u673a\uff1aworker<\/p>\n<ul>\n<li>IP\u5730\u5740\uff1a192.168.99.102<\/li>\n<li>\u7aef\u53e3\uff1a22<\/li>\n<li>\u9ed8\u8ba4\u8d26\u6237\uff1adocker<\/li>\n<li>\u9ed8\u8ba4\u5bc6\u7801\uff1atcuser<\/li>\n<\/ul>\n<h3>docker-machine \u7684\u6307\u4ee4\u5217\u8868<\/h3>\n<ul>\n<li><code>docker-machine config<\/code><\/li>\n<li><code>docker-machine env<\/code><\/li>\n<li><code>docker-machine inspect<\/code><\/li>\n<li><code>docker-machine ip<\/code><\/li>\n<li><code>docker-machine kill<\/code><\/li>\n<li><code>docker-machine provision<\/code><\/li>\n<li><code>docker-machine regenerate-certs<\/code><\/li>\n<li><code>docker-machine restart<\/code><\/li>\n<li><code>docker-machine ssh<\/code><\/li>\n<li><code>docker-machine start<\/code><\/li>\n<li><code>docker-machine status<\/code><\/li>\n<li><code>docker-machine stop<\/code><\/li>\n<li><code>docker-machine upgrade<\/code><\/li>\n<li><code>docker-machine url<\/code><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>\u5b89\u88c5 Docker Machine \u53c2\u8003\uff1ahttps:\/\/docs.docker.com\/machine\/in [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[179],"tags":[],"class_list":["post-645","post","type-post","status-publish","format-standard","hentry","category-docker"],"_links":{"self":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/posts\/645","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/comments?post=645"}],"version-history":[{"count":0,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/posts\/645\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/media?parent=645"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/categories?post=645"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/tags?post=645"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}