50+ 个有用的 Docker 工具

Docker工具分类列表

  • 编排和调度
  • 持续集成/持续部署(CI / CD)
  • 监控
  • 记录
  • 安全
  • 存储/卷管理
  • 联网
  • 服务发现
  • 构建
  • 管理

编排和调度

1. Kubernetes

Kubernetes是市场上最实用的最受欢迎的容器编排引擎。最初作为一个Google项目开始,成千上万的团队使用它来部署生产中的容器。谷歌声称它每周使用Kubernetes运行数十亿个容器。

该工具通过将构成应用程序的容器分组为逻辑单元进行工作,以便于管理和发现。

工具链接: https://kubernetes.io

使用成本:免费

2. Docker Swarm

Swarm是Docker解决开发人员如何在许多服务器上编排和调度容器的问题的一种方式。从1.12.0版本开始,Swarm已经被包含在Docker Engine中,并且提供了一些高级特性,例如服务发现,负载均衡,扩展和安全性。

Swarm继续将关注简单性和开发者体验作为Docker传统。通常来说Swarm比Kubernetes更容易使用。

工具链接:https://www.docker.com

使用成本:社区版免费

3. Mesosphere DC/OS

Mesosphere数据中心操作系统(DC / OS)是一个集成的开源平台,用于在Apache Mesos分布式系统内核上构建数据和容器。它旨在将数据中心内的多台机器视为一个或多个群集,无论是在云中还是使用内部部署软件。DC / OS可以在相同的环境中部署容器并管理无状态应用程序和有状态工作负载。

适用于Docker Swarm和Kubernetes。

工具链接:https://dcos.io/

使用成本:Mesosphere DC / OS的包月套餐基于你环境中的节点(物理或虚拟)的数量收费。

4. Amazon ECS

Amazon Web Services对容器编排的答复,Amazon ECS是一个高度可扩展的管理服务,允许开发人员在EC2实例上运行容器化的应用程序。它由多个内置组件组成,可以简化Docker集群,任务或服务的调度和部署。

虽然不支持在EC2之外运行容器,但其优势在于包括AWS服务优势,如CloudTrail,CloudWatch,Elastic Load Balancers等。

工具链接:https://aws.amazon.com/ecs/

使用成本:Amazon ECS不收取额外费用。仅需要支付存储和运行应用程序所需的AWS资源(例如EC2实例或EBS卷)。

5. Azure Container Service(ACS)

经过优化的开源管理服务可在Azure虚拟机上使用,Azure容器服务提供了创建,配置和管理开放式Docker容器基础架构的必要工具。它提供简化的基于容器的应用程序开发和部署,支持Kubernetes,Mesospere DC / OS或Swarm编排。

使用你选择的应用程序管理工具进行规模化编排,并通过标准API端点进行连接。

工具链接:https://azure.microsoft.com/en ... vice/

使用成本:仅需支付虚拟机以及使用的相关存储和网络资源。

6. Google Container Engine(GKE)

GKE由Kubernetes提供支持,可以在Google Cloud上部署,管理和扩展容器化应用程序。GKE的目标是通过改进对基于容器的工作负载的管理来优化IT团队的生产力。它隐藏了复杂和单调的管理任务,留给你的只有简单的用户体验和简单的命令行工具。

Kubernetes是GKE的骨干。虽然你不需要学习使用GKE,但是如果你了解其基础知识,则会对你的使用有所帮助。

工具链接:https://cloud.google.com/container-engine/

使用成本:0-5节点免费,6节点以上=$ 0.15 /小时($ 109.50 /月)

7. Cloud Foundry's Diego

Cloud Foundry使用Diego架构来管理“garden”环境中的应用程序容器。Garden遵循Linux的Open Container Initiative容器托管指南,并通过Diego的其他组件提取。Diego元素通过云控制器提供应用程序调度和管理功能。

工具链接:https://docs.cloudfoundry.org/concepts/diego

使用成本:免费

8. Marathon

Marathon是一个建立在Apache Mesos上的私有生产级平台即服务(PaaS)。Marathon框架有望扩展Docker化应用程序,并在必要时扩展到更多节点以增加可用资源池。它也可以充当容器编排工具,为容器化工作负载提供故障恢复。Marathon自动处理硬件或软件故障,并确保应用程序“始终在线”。

工具链接:https://mesosphere.github.io/marathon/

使用成本:免费

9. HashiCorp Nomad

在Linux,Mac和Windows的支持下,Nomad是一款能够调度所有虚拟化,容器化和独立应用程序的单一二进制工具。从单个容器到数千个群体,Nomad允许你在几分钟内在5,000台主机上运行100万个容器。Nomad通过在更少的服务器上有效地分配更多的应用程序来帮助提高密度,同时降低成本。

工具链接:https://www.nomadproject.io/

使用成本:免费

10. Helios

Helios开始成为Spotify的内部工具,可确保数百个微服务器在数千台服务器上高效工作。它能够大规模部署和管理容器,并且配备了基于HTTP的API以及命令行客户端。

Helios不需要特定的网络拓扑; 它只需要一个ZooKeeper集群和一个运行该工具的机器上的JVM。它可以作为一个开源项目。

工具链接:https://github.com/spotify/helios

使用成本:免费

11. Rancher

不仅仅是一个容器编排器,还是一个用于在生产环境中运行Docker的完整的容器管理平台。RancherOS是一个基于容器的操作系统(OS),能够提供诸如全局和本地负载平衡,多主机联网以及卷快照等多种基础架构服务。Rancher集成了本地Docker管理功能,如Docker Machine和Swarm。

工具链接:http://rancher.com/

使用成本:免费

12. Nebula

星云(Nebula)是为Docker编排而创建的一个新的开源项目,旨在管理大规模集群。该工具通过按需要缩放每个项目组件来实现此目的。该项目的目标是充当物联网设备的Docker Orchestrator,以及CDN或边缘计算等分布式服务。星云能够通过一个API调用同时更新全球数以万计的物联网设备。星云旨在帮助开发人员和操作人员处理物联网设备,就像分布式Docker化应用程序一样。

工具链接:http://nebula.readthedocs.io/en/latest/

使用成本:免费

持续集成/持续部署(CI / CD)

13. Jenkins

Jenkins是领先的CI工具,使开发和运营团队能够周期性的自动构建和测试应用程序。因此,它已经成为与DevOps齐名的工具。Jenkins是一个独立的基于Java的程序,开箱即用,提供了数百个插件,可以与堆栈中的其他工具集成。该工具使你能够快速配置构建代理,部署工件,然后快速拆除。

使用成本:免费

14. CircleCI

CircleCI承诺帮助软件团队专注于为客户提供价值,而不是维护CI基础架构。CircleCI通过使CI过程更快,更简单,提高了IT团队的工作效率。它快速集成并允许你在注册后立即构建和部署。通过SSH进行手动调试,并在开始项目时同时动态缩放容器的数量。

工具链接:https://circleci.com/

使用成本:第一个容器是免费的; 开源项目+3免费;额外的容器$ 50 /月(每个容器)

15. Travis CI

Travis CI是一个免费的开源CI项目,通过自动构建和测试代码更改来提高开发的效率。软件即服务(Saas)平台随即能够对代码更改的成功与否提供即时反馈。Travis CI还能够通过管理部署和通知来自动化项目开发的其他部分。

工具链接:https://travis-ci.org/

使用成本:免费

16. CodeShip

CodeShip是一个完全可定制的CI平台,通过与已建立的Docker工作流程协作,为Docker提供本地支持。该平台致力于提高速度和安全性,并通过自动执行测试和部署任务来完成工作,从而完全控制构建环境。它提供了对许多其他云平台和编排工具的支持。

工具链接:https://codeship.com/

使用成本:

  • 普通版:每月免费100个版本,定价从$ 49 /月开始
  • 专业版:每月$ 75 /月起

17. GitLab CI

GitLab结合了CI,CD和代码审查来处理整个应用程序的生命周期。它与Docker Engine上的GitLab runner结合使用,以启用应用程序的自动化测试和构建。其他功能还包括活动流,IDE,问题跟踪和存储库管理。GitLab CI还有一个内置的容器注册表来扫描和存储Docker存储库。

工具链接:https://about.gitlab.com/features/gitlab-ci-cd/

使用成本:

  • 社区版:免费,无限用户
  • 企业版入门:$ 3.25 /用户/月
  • 企业版高级版:$ 16.59 /用户/月

18. Shippable

加快与可发布的软件交付; 为开发人员提供的SaaS平台,大大缩短了构建,测试和部署代码到生产所需的时间。Shippable被设计成一个一站式的自动化平台,通过提供完整的工作流可视性,实现DevOps的实践和优化创新。简单的即插即用接口意味着可以与许多其他应用程序架构和技术堆栈轻松集成。

工具链接:https://www.shippable.com/

使用成本:

  • 免费:c4.large节点,无限制构建,1个并发作业
  • $ 25/75/150 / month:c4 large / xlarge / 2xlarge节点,每个并发作业
  • 企业支持附加:从$ 500 /月开始

19. CodeFresh

CodeFresh提供了一个完整的工具链,开发人员可以创建和自动化交付管道。这些Docker本地CI / CD管道基于Kubernetes构建,通过缓存提供快速高效的资源管理。CodeFresh将企业就绪的注册表与Kubernetes的无缝连接和部署相结合。

工具链接:https://codefresh.io/

使用成本:

  • 免费(仅限公共回购public repos only)
  • 普通版:开始于$ 99 /月(公共和私人回购)
  • 专业版:$ 299 /月,与SSH专用节点

20. Buddy

立即构建,测试和部署应用程序。Buddy是一个CI / CD和用户反馈平台,具有友好的用户界面,快速集成和工具,使得持续部署更加方便和高效。它支持所有流行的语言和框架,包括Angular,Ruby,Python,PHP / Laravel,Node.js和.NET Core。

工具链接:https://buddy.works/

使用成本:

  • 自由职业者:$ 49 /月
  • 团队:$ 99 /月
  • 软件公司:$ 199 /月
  • Mega:$ 299 /月

21. Drone

作为一个开放源代码的CI和部署即服务平台,Drone基于使用Go和Docker的容器技术。该平台不需要安装,配置或服务器维护,它可以与BitBucket,Heroku,GitHub等无缝集成,以使用Docker容器自动化代码构建,测试和部署。

工具链接:https://drone.io/

使用成本:

  • Nano:$ 125 /月
  • Micro:$ 250 /月
  • Mega:$ 500 /月

22. Wercker

Docker本地CI&CD自动化平台,旨在帮助软件开发人员构建和部署其应用程序和复杂的微服务架构。Wercker与Kubernetes进行本地集成,可以自动执行部署工作流程,使您可以专注于构建应用程序。

工具链接:http://www.wercker.com/

使用成本:

  • 社区版:免费;
  • 虚拟专用管道:$ 350 /每月起

监控

对于Caylent对容器监测的洞察力,请查看我们的博客文章,了解Prometheus和Grafana与Sysdig和Sysdig Monitor的优缺点

23. Sumo Logic

Sumo Logic是一款云本地日志审查工具,可提供高级分析,可视化和警报选项。度量监控解决方案提供实时安全和操作信息,并允许你诊断和解决所有应用程序和基础架构问题。机器学习分析还意味着在威胁和异常成为问题并影响最终用户之前快速发现和预测威胁和异常。

工具链接:https://www.sumologic.com/

使用成本:

  • 免费:高达500MB /天
  • 专业:日志和指标:$ 90 /月,1GB /天
  • 企业:日志和指标:$ 150 /月,1GB /天

24. Prometheus

Prometheus由SoundCloud开发,是一个开源的系统监控和警报工具包。它包含许多方面的监控,例如度量标准生成和收集,结果可视化以及发生异常时的警报功能。Prometheus擅长于记录数字时间序列,并补充了以机器为中心的监控以及高度动态的面向服务的体系结构。

工具链接:https://prometheus.io/

使用成本:免费

25. Sysdig

Sysdig开源是所有Sysdig产品背后的核心技术。开源工具旨在提供单个主机的详细故障诊断,并作为基于命令行的界面工作。

工具链接:https://www.sysdig.org/

使用成本:

  • 开源:免费
  • 普通版:$ 20 /月
  • 专业云版本:$ 30 /月
  • 定制化软件:价格面议

26. Sysdig Monitor

Sysdig Monitor(正式名为Sysdig Cloud)是Sysdig用于生成和分析系统级信息和实时数据的商业解决方案。作为Linux系统探索的故障排除工具而设计,它提供了深入的容器可视性,使其在Docker环境中非常有用。

工具链接:https://sysdig.com/product/how-it-works/

使用成本:云和软件版本灵活定价

27. Datadog

Datadog是一个基于SaaS的大规模云环境数据分析平台,可以从服务器,数据库和应用程序生成和收集度量/数据事件。全栈监控服务为Docker,Kubernetes和Mesos提供支持。

工具链接:https://www.datadoghq.com/

使用成本:

  • 最多可容纳5个主机
  • 专业版:$ 15 /主机/月
  • 企业版:$ 23 /主机/月

28. New Relic

作为行业的领导者,New Relic是一个纯粹的基于SaaS的性能管理解决方案,它允许开发人员实时诊断和修复应用性能问题。它的应用程序性能监视(APM)功能提供即时可见性,并且其基础架构内的Linux代理程序会自动收集在已安装主机上运行的Docker容器度量标准。

工具链接:https://newrelic.com/

使用成本:

  • 自托管环境:专业版 $ 149 /月; 普通版:$ 75 /月
  • 基于云的选项:取决于提供者和实例大小,运行时间和数量

29. cAdvisor

Google的cAdvisor(Container Advisor)是一个监控解决方案,它分析在Docker中运行的容器的所有性能特征和资源使用情况。该工具将生成并收集容器度量标准,例如网络统计信息,资源隔离参数以及资源使用情况的完整历史记录。

工具链接:https://github.com/google/cadvisor

使用成本:免费

记录

30. Logspout

Logspout是帮助管理在Docker容器中运行的程序生成的日志的一个很好的工具。它将容器应用程序日志路由到单个位置(例如,通过HTTP可用的JSON对象或流式端点)。Logspout也有一个可扩展的模块系统。

工具链接:https://github.com/gliderlabs/logspo

使用成本:免费

31. Fluentd

Fluentd作为一个开源数据收集器工作 - 一个统一和记录所有其他容器日志的容器。拥有500多个插件,Fluentd连接到许多数据源和数据输出来收集事件; 这些被标记为在需要的地方路由它们。这种基于标签的路由可以使复杂的路由干净地表达。

工具链接:https://www.fluentd.org/

使用成本:免费

32. Logstash

作为Elastic Stack的一部分,Logstash与Beats,Elasticsearch和Kibana一起运行良好。它是一个开源的服务器端处理管道,可以传输和处理日志,事件或其他数据。

工具链接:https://www.elastic.co/products/logstash

使用成本:免费

33.syslog-ng

使用syslog-ng从各种来源收集日志,并在将它们路由到不同的目的地之前,几乎实时地处理它们。一个值得信赖的日志管理基础架构,syslog-ng将高性能功能与丰富的消息解析和重写选项结合在一起。

工具链接:https://syslog-ng.org/

使用成本:免费(根据要求可提供syslog-ng高级版的价格)

安全

34. Clair

Clair是一个开源项目,旨在识别和分析Docker和appc应用程序容器中的漏洞。Clair定期从定制和配置的源组中提取容器漏洞元数据,以识别容器映像(包括上游的容器映像)中的威胁。

工具链接:https://coreos.com/clair/docs/latest/

使用成本:免费

35. Aqua Security

Aqua Security可以在任何平台上运行,通过提供全堆栈安全来保护基于容器的应用程序。专用平台Aqua Security可以严格控制你的容器环境,并从开发阶段开始。这是一个提供完整的可视性和管理的综合工具。

工具链接:https://www.aquasec.com/

使用成本:定价是选定软件计划费用加上所需虚拟机的Azure基础架构成本的组合

36. Twistlock

Twistlock Security Suite旨在解决基于容器的应用程序过程中的安全问题。这是一个端到端的安全解决方案,通过增加Docker容器工作方式的监控层来检测漏洞。Twistlock使应用程序生命周期中的容器映像变得更加坚固。

工具链接:https://www.twistlock.com/

使用成本:软件定价基于选定的订阅和基础设施选项

37. Docker Bench for Security

Docker Bench for Security是一个可以在任何Docker主机上运行的预构建包装容器。它是一组应该作为root用户运行的Bash shell脚本。在生产中常见的测试检查部署Docker容器的最佳安全实践。

工具链接:https://hub.docker.com/r/docke ... rity/

使用成本:免费

38. Docker Notary

Notary是一个开源的Docker项目,提供数据收集的安全性。运行Notary服务来发布和管理任意内容。对发布的集合进行数字签名,并允许用户验证内容的完整性和来源。

工具链接:https://github.com/docker/notary

使用成本:免费

存储/卷管理

39. Convoy

由Rancher创建的Docker卷插件,用于管理持久性容器卷。Convoy是一个开放源码的Docker卷驱动程序,可以在任何地方对Docker卷进行快照,备份和恢复。在AWS上创建Docker卷,并受到Elastic Block Store的所有功能和性能的支持。另外,获取现有的EBS卷并使用它来生成附加到Docker容器的卷。

工具链接:https://github.com/rancher/convoy

使用成本:免费

40. Portworx

Portworx是一个分散存储解决方案,用于持久性,共享和复制卷;它可以大规模地自动部署和运行数据服务。

工具链接:https://portworx.com/

使用成本:免费

41. Blockbridge

Blockbridge卷插件为具有高级安全性,移动性,备份和恢复功能的容器应用程序提供高性能存储。通过Docker 1.13+的“Managed Docker Plugin”,Docker本身就负责安装和生命周期管理。

工具链接:http://www.blockbridge.com/

使用成本:免费

42. Flocker

使用此开源数据卷协调器轻松管理Dockerized应用程序和容器存储。Docker容器的短暂特性意味着当容器被删除时,其存储将丢失。Flocker允许你在主机更改时通过迁移数据和容器来永久存储数据。

工具链接:https://clusterhq.com/flocker/

使用成本:免费

联网

43. flannel

专为Kubernetes而设计的Flannel是一种简单易用的方法,可通过在群集中的多个节点之间使用第3层IPv4网络来配置安全的网络结构。它并不控制容器如何与主机平台联网,而只是如何在主机之间传输流量。

工具链接:https://coreos.com/flannel/docs/latest/

使用成本:免费

44. Weaveworks

Weaveworks为开发人员提供了一种高效的方式来连接,观察和控制Docker容器。它创建了一个灵活的虚拟网络基础设施,连接在多个主机上部署的容器。Weaveworks扩展了像Kubernetes和Docker Swarm这样的容器编排器的效率,并简化了生产中容器的管理。

工具链接:https://www.weave.works/

使用成本:

  • 标准:$ 30 /节点/月或每年$ 300
  • 企业:$ 150/节点/月或每年$ 1500

45. Project Calico

Calico是一个高度可扩展的开放源代码项目,提供了虚拟网络的第3层方法,可以支持无数计算主机上的大量虚拟机群集。此工具的简化网络模型设计支持为您的每个工作负载配置细粒度的连接策略,并允许集中管理SDN。

工具链接:https://www.projectcalico.org/ ... cker/

使用成本:免费

服务发现

46. Consul

Consul是一个易于使用的,基于开放标准的服务发现方法,可在FreeBSD,Linux,Mac OS X,Solaris和Windows上运行。构建多数据中心感知,Consul支持多个区域,没有复杂的配置。主要功能包括:服务发现,健康检查和密钥/值存储等。

工具链接:https://www.consul.io/

使用成本:免费

47. Etcd

由CoreOS创建,etcd是为共享配置和服务发现而设计的高可用性键值存储。该工具提供了将数据存储在一组机器上的可靠方法。它专门为运行CoreOS的集群而构建,但etcd也可以在其他操作系统(包括BSD,Linux和OS X)上运行。

工具链接:https://coreos.com/etcd/

使用成本:免费

48. Proxy

Factorish创建了一个简单易用的轻量级(<30mb)容器代理。该工具基于alpine / gliderlabs,并以nginx作为HTTP负载平衡器运行。

工具链接:https://hub.docker.com/r/factorish/proxy/

使用成本:免费

构建

49. Packer

Packer是一个Hashicorp工具,用于构建机器映像(包括Docker),并与诸如Ansible,Chef和Puppet等配置管理工具集成。它是一个轻量级的工具,可以在单个源配置的每个主要操作系统上运行。

工具链接:https://www.packer.io/docs/builders/docker.html

使用成本:免费

50. Whales

自动Dockerize与Whales你的应用程序。唯一需要的是在主机上安装并运行Docker。然后,Whales通过输出必要的文件来运行Docker和应用程序。

使用成本:免费

51. Gradle

Gradle插件使得所有的构建脚本都可以与Docker守护进程交互。每个任务委托给Docker-client,然后通过HTTP连接到Docker的远程API。大多数配置参数是可选的。

使用成本:免费

管理

52. Portainer

Portainer是Docker环境的开源轻量级管理用户界面。Portainer在Docker API之上工作,并提供Docker的详细概述。功能包括管理容器,图像,网络和卷的功能。

工具链接:https://portainer.io/

使用成本:免费


原文:50+ Useful Docker Tools
翻译:王杰

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350