文章图片
2017年2月8日,docker更新到1.13.1(更新日志),此后又分为了docker CE(社区版)和docker EE(商业版)。
此处只分享docker CE安装方法,商业版多了容器资源监控和镜像扫描的功能,普通用户用不到。
如果是你是懒人,在服务器版本直接执行官方出品的一键安装脚本(脚本会区分不同的操作系统且脚本会安装体验版(edge版)而不是稳定版(stable版)且最好不要用于生产环境,脚本Github地址)。
$ sudo wget -qO- https://get.docker.com/ | bash$ # 如果上面的不行,执行下面两句
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh$ # 安装成功执行下面语句,如果有类似回显,说明安装成功
$ docker --version
Docker version 18.06.1-ce, build e68fc7a
如果想了解更多内容以及桌面版本如何安装,请看下文!
坐稳了,系好安全带,发车!
文章图片
CentOS版docker一键安装脚本 由于在CentOS下安装docker本人最常用,所以将命令写成一键安装脚本,默认安装最新稳定版,将以下内容保存成
dockerIntall.sh
并执行sh dockerIntall.sh
- 非国内版,比如国外VPS(网络畅通)
#!/bin/bash
# remove old version
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine# remove all docker data
sudo rm -rf /var/lib/docker#preinstall utils
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2# add repository
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo# make cache
sudo yum makecache fast# install the latest stable version of docker
sudo yum install -y docker-ce# start deamon and enable auto start when power on
sudo systemctl start docker
sudo systemctl enable docker# add current user
sudo groupadd docker
sudo gpasswd -a ${USER} docker
sudo systemctl restart docker
- 国内版,需要设置网络加速,国内和docker官网网络不通
#!/bin/bash
# 移除掉旧的版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine# 删除所有旧的数据
sudo rm -rf /var/lib/docker#安装依赖包
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2# 添加源,使用了阿里云镜像
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo# 配置缓存
sudo yum makecache fast# 安装最新稳定版本的docker
sudo yum install -y docker-ce# 配置镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
EOF# 启动docker引擎并设置开机启动
sudo systemctl start docker
sudo systemctl enable docker# 配置当前用户对docker的执行权限
sudo groupadd docker
sudo gpasswd -a ${USER} docker
sudo systemctl restart docker
注意:国内访问docker太慢,一般会配置加速器,此处配置的加速器是163的加速器:
http://hub-mirror.c.163.com
,也可以配置阿里云的加速器。支持的平台 桌面版本
平台 | x86_64 |
---|---|
Docker for Mac (macOS) | 支持 |
Docker for Windows (Microsoft Windows 10) | 支持 |
平台 | x86_64 / amd64 | ARM | ARM64/AARCH64 | IBM Power (ppc64le) | IBM Z (s390x) |
---|---|---|---|---|---|
CentOS | 支持 | 支持 | |||
Debian | 支持 | 支持 | 支持 | ||
Fedora | 支持 | 支持 | |||
Ubuntu | 支持 | 支持 | 支持 | 支持 | 支持 |
系统要求
- 安装docker CE需要CentOS 7的维护版本,存档版本(没在维护的版本)不支持
- 必须开启
centos-extras
仓库,默认是打开的,如果被关闭了,需要重新打开 - 推荐使用
overlay2
存储驱动,overlay
也可以但是不推荐。overlay2
要求Linux内核为4.0+
旧版本的docker叫做
docker
或者docker-engine
,如果有安装,先卸载其以及其依赖,新版本的docker叫做docker-ce
。/var/lib/docker/
目录下的镜像文件,容器,卷和网络将会被保留,不会被删除。$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
安装
有三种安装办法:
- 在软件源内添加docker,并且安装,这样安装和升级比较方便,官方推荐。
- 下载RPM包手动安装,手动升级,一般在与互联网隔绝的情况下使用此方法。
- 【史上最全docker安装方法!】官方一键安装脚本,上面说过,此处不再赘述。
首先安装docker的仓库,你可以从这个仓库中安装或者升级docker。
设置仓库
- 安装依赖包,
yum-utils
提供yum-config-manager
工具,devicemapper
存储驱动需要device-mapper-persistent-data
和lvm2
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
- 使用下面的命令安装稳定版仓库,即使安装最新体验版或者是测试版也需要稳定版仓库。
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
- 可选:体验版和测试版默认是关闭的,你可以通过下面的命令打开,不打开也不影响稳定版的使用。
$ # 打开体验版与测试版
$ sudo yum-config-manager --enable docker-ce-edge
$ sudo yum-config-manager --enable docker-ce-test$ # 关闭体验版与测试版
$ sudo yum-config-manager --disable docker-ce-edge
$ sudo yum-config-manager --disable docker-ce-test
注意:从docker17.06开始,稳定版也同样会被推送到体验版和测试版的仓库里
安装docker CE
- 安装最新版本的docker CE
$ sudo yum install -y docker-ce
以上命令始终安装docker CE最新版本,如果提示接受GPG key,官方说检查指纹是否是
060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
,是的话,就接受,不过我在安装的过程中没有遇见。注意:如果安装了多个docker仓库,使用
yum install
或者yum update
命令时后面不跟版本信息的话,将始终安装最高版本的docker!- 安装指定版本的docker CE
列出版本,版本号从高到低
$ yum list docker-ce --showduplicates | sort -r
docker-ce.x86_6418.03.1.ce-1.el7.centosdocker-ce-stable
docker-ce.x86_6418.03.0.ce-1.el7.centosdocker-ce-stable
docker-ce.x86_6417.12.1.ce-1.el7.centosdocker-ce-stable
docker-ce.x86_6417.12.0.ce-1.el7.centosdocker-ce-stable
docker-ce.x86_6417.09.1.ce-1.el7.centosdocker-ce-stable
docker-ce.x86_6417.09.0.ce-1.el7.centosdocker-ce-stable
docker-ce.x86_6417.06.2.ce-1.el7.centosdocker-ce-stable
docker-ce.x86_6417.06.1.ce-1.el7.centosdocker-ce-stable
docker-ce.x86_6417.06.0.ce-1.el7.centosdocker-ce-stable
docker-ce.x86_6417.03.3.ce-1.el7docker-ce-stable
docker-ce.x86_6417.03.2.ce-1.el7.centosdocker-ce-stable
docker-ce.x86_6417.03.1.ce-1.el7.centosdocker-ce-stable
docker-ce.x86_6417.03.0.ce-1.el7.centosdocker-ce-stable
安装指定版本的docker CE,需要指定完整的包名称,例如安装仓库中的这个版本
18.03.0.ce-1.el7.centos
,其命令为$ sudo yum install -y docker-ce-18.03.0.ce
其他版本同理
启动docker CE
启动其实是启动docker deamon,即docker守护进程/docker引擎
$ sudo systemctl start docker
以上即是CentOS从仓库中安装docker CE的全部过程,如果需要升级的话,移除之前的docker,再重复上面的过程即可。
从RPM包安装
RPM包在没有网络的时候就特别管用了,找一台有网络的电脑下载RPM包,这个官方地址列出了所有CentOS版本的docker,选择一个进行下载。
https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
比如我下载的文件叫做(在当前目录)
docker-ce-18.09.0-3.el7.x86_64.rpm
执行
$ sudo yum install -y docker-ce-18.09.0-3.el7.x86_64.rpm
启动守护进程
$ sudo systemctl start docker
卸载
移除docker
$ sudo yum remove docker-ce
移除镜像,容器,卷,网络,自定义文件等
$ sudo rm -rf /var/lib/docker
Ubuntu安装docker Ubuntu是国内乃至全球热门的Linux发行版。也是各种推荐入门Linux爱好者安装的一个Linux发行版。
系统要求
需要64bit的以下任何Ubuntu版本:
- Bionic 18.04 (LTS)
- Xenial 16.04 (LTS)
- Trusty 14.04 (LTS)
docker CE支持x86_64, armhf, s390x (IBM Z), and ppc64le (IBM Power)
架构的Ubuntu
注意:ppc64le
和s390x
架构下,只支持Xenial
以上的Ubuntu
旧版本的docker叫做
docker
或者docker-engine
,如果有安装,先卸载其以及其依赖,新版本的docker叫做docker-ce
。/var/lib/docker/
目录下的镜像文件,容器,卷和网络将会被保留,不会被删除。$ sudo apt-get remove docker docker-engine docker.io containerd runc
支持的存储驱动
Ubuntu上的docker CE支持
overlay2
和aufs
存储驱动- Linux 4.X内核极其以上才支持overlay2,并且overlay2表现的比aufs好
- Linux 3.X内核不支持overlay或overlay2,但是支持aufs
- Trusty 14.04:
$ # 安装linux-image-extra-*包,让docker支持aufs
$ sudo apt-get update$ sudo apt-get install \
linux-image-extra-$(uname -r) \
linux-image-extra-virtual
安装
有三种安装办法:
- 在软件源内添加docker,并且安装,这样安装和升级比较方便,推荐这种方法。
- 下载DEB包手动安装,手动升级,一般在与互联网隔绝的情况下使用此方法。
- 官方一键安装脚本,上面说过,此处不再赘述。
首先安装docker的仓库,你可以从这个仓库中安装或者升级docker。
设置仓库
- 升级apt包索引
$ sudo apt-get update
- 安装能够让apt使用HTTPS的包
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
- 添加官方的GPG key
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
查看现在是否拥有了指纹
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
的密匙,执行下面搜索命令,如果有类似回显说明拥有此密匙。$ sudo apt-key fingerprint 0EBFCD88
pub4096R/0EBFCD88 2017-02-22
Key fingerprint = 9DC8 5822 9FC7 DD38 854AE2D8 8D81 803C 0EBF CD88
uidDocker Release (CE deb)
sub4096R/F273FCD8 2017-02-22
- 设置稳定版源
必须安装稳定版源,即使安装体验版或者测试版也需要稳定版源,不同架构的机器需要不同安装命令,lsb_release -cs
命令会返回是哪种Debian发行版,比如xenial
,如果想安装体验版(edge)或者测试版(test),将命令中的stable换成相应的字符串即可。
$ # x86_64 / amd64架构
$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"$ # armhf架构
$ sudo add-apt-repository \
"deb [arch=armhf] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"$ #arm64架构
$ sudo add-apt-repository \
"deb [arch=arm64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"$ #IBM Power (ppc64le)
$ sudo add-apt-repository \
"deb [arch=ppc64el] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"$ #IBM Z (s390x)
$ sudo add-apt-repository \
"deb [arch=s390x] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
注意:从docker17.06开始,稳定版也同样会被推送到体验版和测试版的仓库里
安装docker CE
- 升级apt包索引
$ sudo apt-get update
- 安装最新版本的docker CE
$ sudo apt-get install docker-ce
注意:如果安装了多个docker仓库,使用
apt-get install
或者apt-get update
命令时后面不跟版本信息的话,将始终安装最高版本的docker!- 安装指定版本的docker CE
列出版本,版本号从高到低
$ apt-cache madison docker-ce
docker-ce | 18.09.0~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
安装指定版本的docker CE,需要指定完整的包名称,例如安装仓库中的这个版本
18.09.0~ce-0~ubuntu
,其命令为$ sudo apt-get install docker-ce=18.03.0~ce-0~ubuntu
其他版本同理
docker deamon,即docker守护进程/docker引擎,在安装完成后会自动启动
如果需要升级的话,首先执行
sudo apt-get update
,再重复上面的过程即可。从DEB包安装
DEB包在没有网络的时候就特别管用了,找一台有网络的电脑下载DEB包,这个官方地址列出了所有Debian版本的docker,选择一个进行下载。
https://download.docker.com/linux/ubuntu/dists/
在浏览器打开上述地址,导航至
pool/stable/
,根据自己的架构amd64, armhf, ppc64el, or s390x
下载.deb
文件比如我下载的文件叫做(在当前目录)
docker-ce_18.06.1_ce_3-0_ubuntu_amd64.deb
执行
$ sudo dpkg -i docker-ce_18.06.1_ce_3-0_ubuntu_amd64.deb
docker deamon,即docker守护进程/docker引擎,在安装完成后会自动启动
卸载
移除docker
$ sudo apt-get purge docker-ce
移除镜像,容器,卷,网络,自定义文件等
$ sudo rm -rf /var/lib/docker
Debian安装docker Debian是完全免费的,最符合开源精神的Linux发行版,默认不包含任何专有驱动,软件大多数都是稳定版本而不是最新版本,其开发维护完全是由社区驱动。
系统要求
需要64bit的以下任何Debian或Raspbian版本
- Buster 10 (Docker CE 17.11 Edge only)
- Stretch 9 (stable) / Raspbian Stretch
- Jessie 8 (LTS) / Raspbian Jessie
- Wheezy 7.7 (LTS)
旧版本的docker叫做
docker
或者docker-engine
,如果有安装,先卸载其以及其依赖,新版本的docker叫做docker-ce
。/var/lib/docker/
目录下的镜像文件,容器,卷和网络将会被保留,不会被删除。$ sudo apt-get remove docker docker-engine docker.io containerd runc
如果是Wheezy 7.7则需要Linux内核版本至少为3.10,查看内核版本,并且需要打开
backports
仓库$ uname -r
安装
有三种安装办法:
- 在软件源内添加docker,并且安装,这样安装和升级比较方便,除了Raspbian外推荐这种方法。
- 下载DEB包手动安装,手动升级,一般在与互联网隔绝的情况下使用此方法。
- 官方一键安装脚本,Raspbian用户只能通过此法安装,上面说过,此处不再赘述。
首先安装docker的仓库,你可以从这个仓库中安装或者升级docker。
设置仓库
- 升级apt包索引
$ sudo apt-get update
- 安装能够让apt使用HTTPS的包
$ # Jessie或者更新的版本执行下面命令
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg2 \
software-properties-common$ # Wheezy或者更旧的版本执行下面命令
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
python-software-properties
- 添加官方的GPG key
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
查看现在是否拥有了指纹
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
的密匙,执行下面搜索命令,如果有类似回显说明拥有此密匙。$ sudo apt-key fingerprint 0EBFCD88
pub4096R/0EBFCD88 2017-02-22
Key fingerprint = 9DC8 5822 9FC7 DD38 854AE2D8 8D81 803C 0EBF CD88
uidDocker Release (CE deb)
sub4096R/F273FCD8 2017-02-22
- 设置稳定版源
必须安装稳定版源,即使安装体验版或者测试版也需要稳定版源,不同架构的机器需要不同安装命令,lsb_release -cs
命令会返回是哪种Debian发行版,比如jessie
,如果想安装体验版(edge)或者测试版(test),将命令中的stable换成相应的字符串即可。
$ # x86_64 / amd64架构
$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/debian \
$(lsb_release -cs) \
stable"$ # armhf架构
$ echo "deb [arch=armhf] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list$ #arm64架构
$ echo "deb [arch=arm64] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list
- 如果发行版是Wheezy:Wheezy上的add-apt-repository版本添加了一个不存在的deb-src库,编辑/etc/apt/sources.list,注释或移除类似下面的语句
deb-src [arch=amd64] https://download.docker.com/linux/debian wheezy stable
注意:从docker17.06开始,稳定版也同样会被推送到体验版和测试版的仓库里
安装docker CE
注意:以下安装过程只支持
Debian x86_64 / amd64
,Debian ARM
或 Raspbian
。- 升级apt包索引
$ sudo apt-get update
- 安装最新版本的docker CE
$ sudo apt-get install docker-ce
注意:如果安装了多个docker仓库,使用
apt-get install
或者apt-get update
命令时后面不跟版本信息的话,将始终安装最高版本的docker!- 安装指定版本的docker CE
列出版本,版本号从高到低
$ apt-cache madison docker-ce
docker-ce | 18.09.0~ce-0~debian | https://download.docker.com/linux/debian jessie/stable amd64 Packages
安装指定版本的docker CE,需要指定完整的包名称,例如安装仓库中的这个版本
18.03.0.ce-1.el7.centos
,其命令为$ sudo apt-get install docker-ce-18.03.0.ce
其他版本同理
docker deamon,即docker守护进程/docker引擎,在安装完成后会自动启动
如果需要升级的话,首先执行
sudo apt-get update
,再重复上面的过程即可。从DEB包安装
DEB包在没有网络的时候就特别管用了,找一台有网络的电脑下载DEB包,这个官方地址列出了所有Debian版本的docker,选择一个进行下载。
https://download.docker.com/linux/debian/dists/
在浏览器打开上述地址,导航至
pool/stable/
,根据自己的架构amd64, armhf, or arm64
下载.deb
文件比如我下载的文件叫做(在当前目录)
docker-ce_17.06.2_ce-0_debian_amd64.deb
执行
$ sudo dpkg -i docker-ce_17.06.2_ce-0_debian_amd64.deb
docker deamon,即docker守护进程/docker引擎,在安装完成后会自动启动
卸载
移除docker
$ sudo apt-get purge docker-ce
移除镜像,容器,卷,网络,自定义文件等
$ sudo rm -rf /var/lib/docker
Fedora安装docker 经常和Ubuntu比较的发行版,和Ubuntu最大的不同可能就是包管理不一样。
系统要求
需要64bit的以下任何Fedora版本
- 26
- 27
- 28
旧版本的docker叫做
docker
或者docker-engine
,如果有安装,先卸载其以及其依赖,新版本的docker叫做docker-ce
。/var/lib/docker/
目录下的镜像文件,容器,卷和网络将会被保留,不会被删除。$ sudo dnf remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
安装
有三种安装办法:
- 在软件源内添加docker,并且安装,这样安装和升级比较方便,这是推荐的方法。
- 下载RPM包手动安装,手动升级,一般在与互联网隔绝的情况下使用此方法。
- 官方一键安装脚本,上面说过,此处不再赘述。
首先安装docker的仓库,你可以从这个仓库中安装或者升级docker。
设置仓库
- 安装
dnf-plugins-core
,它提供了从命令行管理DNF源的工具。
$ sudo dnf -y install dnf-plugins-core
- 使用下面的命令安装稳定版仓库,即使安装最新体验版或者是测试版也需要稳定版仓库。
$ sudo dnf config-manager \
--add-repo \
https://download.docker.com/linux/fedora/docker-ce.repo
- 可选:体验版和测试版默认是关闭的,你可以通过下面的命令打开,不打开也不影响稳定版的使用。
$ # 打开体验版与测试版
$ sudo dnf config-manager --set-enabled docker-ce-edge
$ sudo dnf config-manager --set-enabled docker-ce-test$ # 关闭体验版与测试版
$ sudo dnf config-manager --set-disabled docker-ce-edge
$ sudo dnf config-manager --set-disabled docker-ce-test
注意:从docker17.06开始,稳定版也同样会被推送到体验版和测试版的仓库里
安装docker CE
- 安装最新版本的docker CE
$ sudo dnf install docker-ce
以上命令始终安装docker CE最新版本,如果提示接受GPG key,官方说检查指纹是否是
060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
,是的话,就接受,不过我在安装的过程中没有遇见。注意:如果安装了多个docker仓库,使用
dnf install
或者dnf update
命令时后面不跟版本信息的话,将始终安装最高版本的docker!- 安装指定版本的docker CE
列出版本,版本号从高到低
$ dnf list docker-ce--showduplicates | sort -r
docker-ce.x86_6418.09.0.fc26docker-ce-stable
安装指定版本的docker CE,需要指定完整的包名称,例如安装仓库中的这个版本
18.03.0.ce-1.el7.centos
,其命令为$ sudo dnf -y install docker-ce-18.03.0.ce
其他版本同理
启动docker CE
启动其实是启动docker deamon,即docker守护进程/docker引擎
$ sudo systemctl start docker
以上即是CentOS从仓库中安装docker CE的全部过程,如果需要升级的话,移除之前的docker,再重复上面的过程即可。
从RPM包安装
RPM包在没有网络的时候就特别管用了,找一台有网络的电脑下载RPM包,这个官方地址列出了所有Fedora版本的docker,选择一个进行下载。
https://download.docker.com/linux/fedora/
比如我下载的文件叫做(在当前目录)
docker-ce-17.03.0.ce-1.fc24.x86_64.rpm
执行
$ sudo dnf -y install docker-ce-17.03.0.ce-1.fc24.x86_64.rpm
启动守护进程
$ sudo systemctl start docker
卸载
移除docker
$ sudo dnf remove docker-ce
移除镜像,容器,卷,网络,自定义文件等
$ sudo rm -rf /var/lib/docker
Windows10安装docker win10安装docker一般用于开发人员,用来当服务器使的很少。
安装之前必读
其实在开始在windows上并没有docker,因为docker的是需要Linux内核的支持的,现在的做法是在windows上安装一个Linux虚拟器,docker引擎其实是在Linux虚拟机里面跑着的。
然而现在安装docker的时候会让选择是用Linux容器还是Windows容器,一般情况下还是选择Linux容器,如果你的程序最终会在Linux运行。
windows版docker需要Microsoft Hyper-V的支持,即windows内置的虚拟机引擎,从win10开始支持,docker在安装的时候会自动开启,需要重启电脑。
如果没有Microsoft Hyper-V,请考虑docker toolbox
系统要求
- Windows 10 64bit,专业版、企业版或教育版(1607周年更新版,build 14393或更新)
- BIOS要开启虚拟化,一般会自动开启
- CPU SLAT 支持
- 至少4GB内存
进入此页面下载
Docker for Windows Installer.exe
文章图片
双击
Docker for Windows Installer.exe
然后一路下一步,安装完成!运行
安装完成后docker不会自动运行,搜索docker点击运行。
文章图片
链接:https://www.jianshu.com/p/e6b946c79542
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。