应无所住,而生其心
排名
1
文章
860
粉丝
112
评论
163
net core webapi post传递参数
庸人 : 确实坑哈,我也是下班好了好几次,发现后台传递对象是可以的,但...
百度编辑器自定义模板
庸人 : 我建议换个编辑器,因为现在百度富文本已经停止维护了,用tinymec...
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

docker 安装nacos v2.1.2

9686人阅读 2022/11/9 13:41 总访问:5182329 评论:2 收藏:0 手机
分类: 微服务

nacos介绍


Nacos /nɑ:k??s/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。

官网地址:https://nacos.io/zh-cn/docs/quick-start-docker.html

安装nacos


安装的方式可以使用官网的docker-compose方式,直接启动mysql和nacos服务。如果我们本身就已经有mysql服务了,我们就可以单独的启动nacos服务,下面我们介绍这种方式。

docker安装mysql可以参考:https://www.tnblog.net/aojiancc2/article/details/5052

配置数据库

创建数据库

一般数据库的名字叫nacos,或者叫nacos_config也可以,反正后面都可以配置的。

创建用户

当然也可以使用以前的用户,反正只要可以连接到nacos这个数据库就可以了。也可以创建一个用户专门给nacos来连接。比如创建一个用户:nacos,密码:nacos的账户。要注意连接权限,比如数据库服务和nacos服务不在同一个服务器,就要特别注意一下连接权限,给账户设置成任意ip可以连接或者放开某个ip。

给数据库添加表和数据

下面这两个地址都可以:
https://github.com/alibaba/nacos/blob/master/distribution/conf/mysql-schema.sql
https://github.com/alibaba/nacos/blob/master/config/src/main/resources/META-INF/nacos-db.sql
如果访问不到,我这里也可以一下sql文件:

  1. /*
  2. * Copyright 1999-2018 Alibaba Group Holding Ltd.
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. /******************************************/
  17. /* 数据库全名 = nacos_config */
  18. /* 表名称 = config_info */
  19. /******************************************/
  20. CREATE TABLE `config_info` (
  21. `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  22. `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  23. `group_id` varchar(255) DEFAULT NULL,
  24. `content` longtext NOT NULL COMMENT 'content',
  25. `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  26. `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  27. `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  28. `src_user` text COMMENT 'source user',
  29. `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
  30. `app_name` varchar(128) DEFAULT NULL,
  31. `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  32. `c_desc` varchar(256) DEFAULT NULL,
  33. `c_use` varchar(64) DEFAULT NULL,
  34. `effect` varchar(64) DEFAULT NULL,
  35. `type` varchar(64) DEFAULT NULL,
  36. `c_schema` text,
  37. `encrypted_data_key` text NOT NULL COMMENT '秘钥',
  38. PRIMARY KEY (`id`),
  39. UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
  40. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info';
  41. /******************************************/
  42. /* 数据库全名 = nacos_config */
  43. /* 表名称 = config_info_aggr */
  44. /******************************************/
  45. CREATE TABLE `config_info_aggr` (
  46. `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  47. `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  48. `group_id` varchar(255) NOT NULL COMMENT 'group_id',
  49. `datum_id` varchar(255) NOT NULL COMMENT 'datum_id',
  50. `content` longtext NOT NULL COMMENT '内容',
  51. `gmt_modified` datetime NOT NULL COMMENT '修改时间',
  52. `app_name` varchar(128) DEFAULT NULL,
  53. `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  54. PRIMARY KEY (`id`),
  55. UNIQUE KEY `uk_configinfoaggr_datagrouptenantdatum` (`data_id`,`group_id`,`tenant_id`,`datum_id`)
  56. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='增加租户字段';
  57. /******************************************/
  58. /* 数据库全名 = nacos_config */
  59. /* 表名称 = config_info_beta */
  60. /******************************************/
  61. CREATE TABLE `config_info_beta` (
  62. `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  63. `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  64. `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  65. `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  66. `content` longtext NOT NULL COMMENT 'content',
  67. `beta_ips` varchar(1024) DEFAULT NULL COMMENT 'betaIps',
  68. `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  69. `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  70. `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  71. `src_user` text COMMENT 'source user',
  72. `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
  73. `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  74. `encrypted_data_key` text NOT NULL COMMENT '秘钥',
  75. PRIMARY KEY (`id`),
  76. UNIQUE KEY `uk_configinfobeta_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
  77. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_beta';
  78. /******************************************/
  79. /* 数据库全名 = nacos_config */
  80. /* 表名称 = config_info_tag */
  81. /******************************************/
  82. CREATE TABLE `config_info_tag` (
  83. `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  84. `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  85. `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  86. `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
  87. `tag_id` varchar(128) NOT NULL COMMENT 'tag_id',
  88. `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  89. `content` longtext NOT NULL COMMENT 'content',
  90. `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  91. `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  92. `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  93. `src_user` text COMMENT 'source user',
  94. `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
  95. PRIMARY KEY (`id`),
  96. UNIQUE KEY `uk_configinfotag_datagrouptenanttag` (`data_id`,`group_id`,`tenant_id`,`tag_id`)
  97. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_tag';
  98. /******************************************/
  99. /* 数据库全名 = nacos_config */
  100. /* 表名称 = config_tags_relation */
  101. /******************************************/
  102. CREATE TABLE `config_tags_relation` (
  103. `id` bigint(20) NOT NULL COMMENT 'id',
  104. `tag_name` varchar(128) NOT NULL COMMENT 'tag_name',
  105. `tag_type` varchar(64) DEFAULT NULL COMMENT 'tag_type',
  106. `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  107. `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  108. `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
  109. `nid` bigint(20) NOT NULL AUTO_INCREMENT,
  110. PRIMARY KEY (`nid`),
  111. UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`),
  112. KEY `idx_tenant_id` (`tenant_id`)
  113. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_tag_relation';
  114. /******************************************/
  115. /* 数据库全名 = nacos_config */
  116. /* 表名称 = group_capacity */
  117. /******************************************/
  118. CREATE TABLE `group_capacity` (
  119. `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  120. `group_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群',
  121. `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
  122. `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
  123. `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
  124. `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数,,0表示使用默认值',
  125. `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
  126. `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
  127. `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  128. `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  129. PRIMARY KEY (`id`),
  130. UNIQUE KEY `uk_group_id` (`group_id`)
  131. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='集群、各Group容量信息表';
  132. /******************************************/
  133. /* 数据库全名 = nacos_config */
  134. /* 表名称 = his_config_info */
  135. /******************************************/
  136. CREATE TABLE `his_config_info` (
  137. `id` bigint(20) unsigned NOT NULL,
  138. `nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  139. `data_id` varchar(255) NOT NULL,
  140. `group_id` varchar(128) NOT NULL,
  141. `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  142. `content` longtext NOT NULL,
  143. `md5` varchar(32) DEFAULT NULL,
  144. `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  145. `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  146. `src_user` text,
  147. `src_ip` varchar(50) DEFAULT NULL,
  148. `op_type` char(10) DEFAULT NULL,
  149. `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  150. `encrypted_data_key` text NOT NULL COMMENT '秘钥',
  151. PRIMARY KEY (`nid`),
  152. KEY `idx_gmt_create` (`gmt_create`),
  153. KEY `idx_gmt_modified` (`gmt_modified`),
  154. KEY `idx_did` (`data_id`)
  155. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='多租户改造';
  156. /******************************************/
  157. /* 数据库全名 = nacos_config */
  158. /* 表名称 = tenant_capacity */
  159. /******************************************/
  160. CREATE TABLE `tenant_capacity` (
  161. `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  162. `tenant_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID',
  163. `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
  164. `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
  165. `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
  166. `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数',
  167. `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
  168. `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
  169. `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  170. `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  171. PRIMARY KEY (`id`),
  172. UNIQUE KEY `uk_tenant_id` (`tenant_id`)
  173. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='租户容量信息表';
  174. CREATE TABLE `tenant_info` (
  175. `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  176. `kp` varchar(128) NOT NULL COMMENT 'kp',
  177. `tenant_id` varchar(128) default '' COMMENT 'tenant_id',
  178. `tenant_name` varchar(128) default '' COMMENT 'tenant_name',
  179. `tenant_desc` varchar(256) DEFAULT NULL COMMENT 'tenant_desc',
  180. `create_source` varchar(32) DEFAULT NULL COMMENT 'create_source',
  181. `gmt_create` bigint(20) NOT NULL COMMENT '创建时间',
  182. `gmt_modified` bigint(20) NOT NULL COMMENT '修改时间',
  183. PRIMARY KEY (`id`),
  184. UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`),
  185. KEY `idx_tenant_id` (`tenant_id`)
  186. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='tenant_info';
  187. CREATE TABLE `users` (
  188. `username` varchar(50) NOT NULL PRIMARY KEY,
  189. `password` varchar(500) NOT NULL,
  190. `enabled` boolean NOT NULL
  191. );
  192. CREATE TABLE `roles` (
  193. `username` varchar(50) NOT NULL,
  194. `role` varchar(50) NOT NULL,
  195. UNIQUE INDEX `idx_user_role` (`username` ASC, `role` ASC) USING BTREE
  196. );
  197. CREATE TABLE `permissions` (
  198. `role` varchar(50) NOT NULL,
  199. `resource` varchar(255) NOT NULL,
  200. `action` varchar(8) NOT NULL,
  201. UNIQUE INDEX `uk_role_permission` (`role`,`resource`,`action`) USING BTREE
  202. );
  203. INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE);
  204. INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');

拉取nacos镜像

当前最新版是2.1.2

  1. docker pull nacos/nacos-server:v2.1.2

直接简单运行nacos

  1. docker run -d -p 8848:8848 -p 9848:9848 -p 9849:9849 \
  2. --name nacos \
  3. --env MODE=standalone \
  4. --env SPRING_DATASOURCE_PLATFORM=mysql \
  5. --env MYSQL_SERVICE_HOST=192.168.0.122 \
  6. --env MYSQL_SERVICE_PORT=3306 \
  7. --env MYSQL_SERVICE_DB_NAME=nacos \
  8. --env MYSQL_SERVICE_USER=root \
  9. --env MYSQL_SERVICE_PASSWORD='你的数据库连接密码' \
  10. nacos/nacos-server:v2.1.2

部分参数解释:
其他配置参数可以参考官网的

  1. # 指定 nacos 对外映射端口
  2. docker run -d -p 8848:8848 \
  3. # docker 容器名称
  4. --name nacos \
  5. # nacos 单机实例
  6. --env MODE=standalone \
  7. # nacos 数据源 MySQL
  8. --env SPRING_DATASOURCE_PLATFORM=mysql \
  9. # MySQL 数据库地址(可以使用外网ip,内网ip或者是docker内部Ip,反正只要让nacos能连接到数据库就行)
  10. --env MYSQL_SERVICE_HOST=192.168.0.122 \
  11. # MySQL 端口号
  12. --env MYSQL_SERVICE_PORT=3306 \
  13. # MySQL 数据库名称。根据上面创建的数据库配置
  14. --env MYSQL_SERVICE_DB_NAME=nacos \
  15. # MySQL 用户名称,例如:root
  16. --env MYSQL_SERVICE_USER=nacos \
  17. # MySQL 服务密码,例如:nacos,注意加上单引号
  18. --env MYSQL_SERVICE_PASSWORD='nacos' \


注意配置密码这里要加上单引号,不然可能会报错连接不上数据库, No DataSource set。估计密码是纯数字可能可以不加,但是有特殊符号的要加,不然可能会被识别成其他东东,所以最好还是要加一下。

运行成功后可以使用docker logs 容器id查看一下运行日志,如果没有报错,可以使用ip地址/nacos访问:

默认账户密码 nacos/nacos

内部的日志,和配置信息等
内部的日志地址:

  1. /home/nacos/logs/nacos.log

内部的配置文件地址:

  1. /home/nacos/conf/application.properties

进入容器后可以使用cat命令查看或者使用vim命令编辑。这里我们还没有做目录映射所以需要进入容器查看,后面我们可以做一个目录映射就不需要进入容器内部查看了,也方便数据持久化。

常见错误解决

docker 安装nacos 报错 No DataSource set

这个错就是数据库相关的配置问题,要么就是ip地址配置错误,要么就是账户密码输入错误,要么就是账户没有连接权限,反正就是数据库的连接要好好检查一下。如果是使用docker容器内部的ip进行连接的,要注意两个容器的网络是否可以互联,docker网络可以参考:https://www.tnblog.net/aojiancc2/article/details/7734

如果感觉数据库的ip地址,账户,这些都是配置对了的,还是报连接数据库的错误,可以设置一下MYSQL_SERVICE_DB_PARAM试试

  1. --env MYSQL_SERVICE_DB_PARAM='characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000

完整一点的

  1. docker run -d -p 8848:8848 -p 9848:9848 -p 9849:9849 \
  2. --name nacos \
  3. --env MODE=standalone \
  4. --env SPRING_DATASOURCE_PLATFORM=mysql \
  5. --env MYSQL_SERVICE_HOST=192.168.0.122 \
  6. --env MYSQL_SERVICE_PORT=3306 \
  7. --env MYSQL_SERVICE_DB_NAME=nacos \
  8. --env MYSQL_SERVICE_USER=root \
  9. --env MYSQL_SERVICE_PASSWORD='aj@qwe123!@#' \
  10. --env MYSQL_SERVICE_DB_PARAM='characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000
  11. nacos/nacos-server:v2.1.2

持久化运行nacos

上面是直接简单的运行nacos的,没有做文件映射,没有做持久化操作,如果容器删除掉,产生的数据就没有了(数据库的不算)。

稍后在说


欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)

评价

默认昵称

2023/2/6 9:28:12

不同宿主机器上的docker能够访问通信吗?主机之间互通,运行在各个主机上的docker访问

剑轩:@默认昵称可以哇,搭建一个docker集群就行了哇,本身就可以相互通讯的!

2023/2/6 10:08:42 回复

window7 docker启动失败 error: Failed to create the VirtualBox object。VirtualBox com对象失败

docker启动失败 报错 error: Failed to create the VirtualBox object这个错是因为:virtuelbox 无法启动,所以启动之后会...

docker启动报错 No default Boot2docker ISO found locally downloading the latest

这是因为,启动时如果检测到没有 Boot2Docker,就会去下载,这个下载过程出现网络连接上的错误了,导致启动失败。可以去下...

docker常用命令删除镜像命令进入容器、docker重启命令等

1. docker version查看 Docker 版本信息2. docker info显示 Docker 系统信息,包括镜像,容器数等3. 运行容器第一次使用:d...

docker 二次启动失败(本人这里使用的是hyper-v)

fatal: failed to start daemon: Error initializing network controller: Error creating default network: hnsCall faile...

docker中Sware集群与service

swarm 总结:1,docker中使用swarm集群可以达到多任务分配到不同的节点进行处理,如果有空闲的docker机子将会把请求的处理...

.netCore 使用分布式缓存(docker+redis)

1. 通过docker创建 Redis执行命令:dockerrun--nameasp-redis-p6379:6379-dredis查看redis状态:dockerps可以发现alreadywo...

.net Core3.0在Ubuntu 16.04上面的部署(Supervisor+nginx)(扩展docker)

前 言Linux 随着Linux越来越流行,本人一个.net程序员也多次研究linux与.net的相关产品,以及中间件的使用方式。So今天给...

docker 下载 mcr.microsoft.com/dotnet/core/sdk:3.1 老不行

请将其修改为:mcr.azk8s.cn/dotnet/core/sdk:3.1

docker常用命令

Docker简单命令整理清单[TOC] Login 获取账户信息获取账户信息 docker info | sed '/Username:/!d;s/.* //' ...

windows安装docker

win7、win8 等需要利用 docker toolbox 来安装,国内可以使用阿里云的镜像来下载,下载地址:http://mirrors.aliyun.com/do...

Linux 安装Web版Vscode(docker+Local)

Linux 安装Web版Vscode(Docker+Local)[TOC] code-server 介绍 在任何地方的任何机器上运行VS代码,并在浏览器中访问它...

docker运行 Elasticsearch Kibana和Cerebro

Docker运行 Elasticsearch Kibana和Cerebro[TOC] Demo 运行 Docker-compose,本地构建更高效的开发环境,更直观地了解 El...

docker部署简单的mysql

Docker部署简单的mysql[TOC] 首先这玩意我是真不想写,网上写的太多了,但是又没有找到快速的创建方式。so…有疑问都可...

Unable to get the local Boot2docker ISO version: Did not find prefix "-v" in version string

我已经从 github 上下载 v19.03.12 的镜像到 vps 然后拖回本地放在 C:\Users\Administrator.docker\machine\cache 下了。依...

docker容器和镜像的区别

下面这两个比喻说得比较好 镜像就类似操作系统光盘介质,容器相当于通过光盘安装后的系统。通过光盘(镜像),我们能在不同...