検索

ホームページ  >  に質問  >  本文

谁可以简单介绍一下docker到底是干什么用的?

在百度百科上看了一阵,专业术语太多,我还是没有真正搞懂。谁可以简单解释一下,比如它到底解决了什么问题?
刚才看了几位大神的回答,可能是我接触太少吧,感觉仍然不是非常清楚。是不是它相当于一个虚拟机,你把软件部署到那个虚拟机上面?性能不是差了很多吗?如果说它利用的还是宿主机器的资源,那么这跟直接运行在宿主机器就没有区别?如果宿主机器缺少它的依赖库,它依然运行不起来。

PHP中文网PHP中文网2774日前1116

全員に返信(5)返信します

  • 天蓬老师

    天蓬老师2017-04-25 09:05:25

    docker には 2 つの主要な貢献と、そのソフトウェア配信への影響があります。
    2 つの主要な貢献:
    1. 実行環境とコードをボックスにカプセル化する ミラー ウェアハウス 。コードウェアハウスに似た方法で配布されます
    ソフトウェア配信の影響:

    IT業界における「コンテナ」として、ソフトウェア配信のプロセスと方法全体を変更しました。これは、コンテナと同様に輸送、航空輸送、陸上輸送の方法全体を変更することに相当します。生産者が生産する製品は、どんなに多くのプロセスを経ても、エンドユーザーにとってはまったく同じです。このコア「コンテナ」により、エコシステム全体がそれを中心に回転します。

    さらに、仮想化と比較すると、仮想化はハードウェアとシステムの仮想化ですが、コンテナはアプリケーションの仮想化であり、モジュール (関数) の形式および環境変数 (関数のパラメーター) を通じて、この仮想アプリケーションの実行状態を変更します。 )。同時に、オーケストレーション ツールを使用して、非常に大規模で複雑なサービスを組み立てることができます。

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-25 09:05:25

    まず第一に、docker は仮想マシンではありません。 !いいえ! !いいえ! !
    多くの人が mysql apache などで docker を開いたことがあります。これは間違っています!
    Docker はシングルスレッド プログラムです。通常、Docker コンテナーは 1 つのアプリケーションしか開くことができないため、Docker を仮想マシンとして使用しないでください。
    第二に、docker は理論的にはカプセル化されたサンドボックス環境であり、すべての変更は環境内で行われ、システムには影響しません (もちろんマウントできます)。
    これは Windows 用のグリーン ソフトウェアのようなもので、インストールは必要なく、ダウンロードして使用するだけです。
    Docker は、Linux 用のグリーン ソフトウェア パッケージャーとみなすことができます。イメージの作成後は、Docker を使用して任意のマシンで実行できます。多くのコンパイルは必要なく、高速です。
    わかりましたヽ( ̄д ̄;)ノそれでも理解できないなら負けを認めます。 。 。

    返事
    0
  • phpcn_u1582

    phpcn_u15822017-04-25 09:05:25

    たとえば、 Ubuntu,服务器用的是CentOS,那么此时你要把项目部署到服务器上,可能在环境的配置上就要花费不少的时间了。又或者比如你用的MySQL,放在以前每次重装一次系统或者换一个环境,你就要把你的环境重装一次,东西越多花费的时间越多。
    而使用Docker,你只需要一条命令,你就可以在你的Ubuntu上再运行一个“新的环境”,当然这一个环境还是基于你现有的环境的,也就是说实际上共享的还是同一套资源,但是这套环境里面已经有了你需要的东西。
    你需要MySQL,那就安装一个带MySQL的镜像, 然后启动一个容器。
    你需要Redis,那就安装一个带Redis的镜像, 然后启动一个容器。
    你需要..., 那就..., 然后...。
    当然你也可以在别人的基础之上,对容器进行修改后,比如添加了一些你自己的软件或修改配置文件,然后再commit,这样你就把这个容器制作成了一个镜像,以后你可以用这个镜像创建出N个一模一样的容器。
    比如你要学习搭载Redis集群,那么你可以下载一个Redis的镜像,然后启动容器,把集群的配置设置好后,提交这个容器生成镜像,再根据这个镜像运行出6个或更多容器,这样一个集群就搭起来了。
    而且Docker を使用する場合、使用するリソースはほとんどありません。

    返事
    0
  • 習慣沉默

    習慣沉默2017-04-25 09:05:25

    つまり、Docker でできることは次のとおりです。他のテクノロジーと比較して、より多くのアプリケーションを同じハードウェア上で実行できるようになり、開発者がいつでも実行できるコンテナ化されたアプリケーションを簡単に構築できるようになります。これにより、アプリケーションの管理と展開のタスクが大幅に簡素化されます。

    返事
    0
  • 滿天的星座

    滿天的星座2017-04-25 09:05:25

    環境を構築して、さまざまな依存関係をインストールしてからコードを実行するのは面倒ではありませんか?依存関係のインストールおよび構成プロセス中にエラーが発生した場合、コードは実行できなくなる可能性があります。Docker は、環境全体をイメージにパッケージ化して配布できる仮想化ツールです。使用する必要がある場合は、それをプルダウンするだけです。仮想マシン イメージをダウンロードしてローカルで実行するのと同様に、イメージをダウンロードして実行します。

    返事
    0
  • キャンセル返事