Docker�����c������-��2�� ���(qu��n)��Ϣ
- ISBN��9787115435040
- �l�δa��9787115435040 ; 978-7-115-43504-0
- �b�������o
- �Ԕ�(sh��)�����o
- ���������o
- ���ٷ��>
Docker�����c������-��2�� ������ɫ
��������(j��)Docker 1.10���Kubernetes 1.2�挦��1���M����ȫ��������Č��`�ߵĽǶȳ��l(f��)����Docker��Kubernetes�����c������“�����÷���B”��“����ԭ�����x”��“�����`����”��˼·��һ�����v��(d��ng)ǰ�����������������Ƽ��g(sh��)���������x���ڌ��H����������Docker�����������ƽ�Q���}�����l(f��)�µ�˼����ȫ�������ɲ������ײ���������xDocker�������g(sh��)������Docker�ܘ�(g��u)�c�O(sh��)Ӌ������Դ�a���x�����`���ɣ��ڶ����֚w�{�ͱ��^�������Docker�������������Ŀ��������עDocker���������c���������������ע��(y��ng)��֧�ε��������Լ�һ�н�������Kubernetes���M��Ԕ�����x��Kubernetes����Դ�a���O(sh��)Ӌ�c���F(xi��n)����B�ˎN���͈����µ�Kubernetes���`��
�����m������һ��Docker���A(ch��)���_�l(f��)�����ܘ�(g��u)����IT���I(y��)�W(xu��)���Լ�̽������Docker��(g��u)����Ӌ��ƽ�_�ļ��g(sh��)�ˆT��Ҳ�dz��m�������У�̲Ļ���Ӗ(x��n)�Y����
Docker�����c������-��2�� ��(n��i)�ݺ���
����Docker 1.10��Kubernetes 1.2ȫ�����
һ�����vDocker��Kubernetes
��Դ�a������Ƚ���Docker����ԭ��KubernetesԴ�a��ȫ���x *���`
�V�����wDocker�����`����ȫ���������������Ƽ��g(sh��)�ܘ�(g��u)����
Docker�����c������-��2�� Ŀ�
**���֡�Docker������x
��1�¡��������������ơ���2
1.1����Ӌ��ƽ�_����2
1.2���������µĸ�������3
1.3���M�����������������ơ���7
��2�¡�Docker ���A(ch��)����8
2.1��Docker���b����8
2.2��Docker��������(sh��)���x����9
2.3������**��Docker��(y��ng)������16
2.3.1��Docker��Ⱥ���𡡡�16
2.3.2��**��Hello World����17
2.3.3���_�l(f��)���yԇ�Ͱl(f��)��һ�w������27
��3�¡�Docker����ԭ�����x����28
3.1��Docker����ă�(n��i)��֪�R����28**���֡�Docker������x
��1�¡��������������ơ���2
1.1����Ӌ��ƽ�_����2
1.2���������µĸ�������3
1.3���M�����������������ơ���7
��2�¡�Docker ���A(ch��)����8
2.1��Docker���b����8
2.2��Docker��������(sh��)���x����9
2.3������**��Docker��(y��ng)������16
2.3.1��Docker��Ⱥ���𡡡�16
2.3.2��**��Hello World����17
2.3.3���_�l(f��)���yԇ�Ͱl(f��)��һ�w������27
��3�¡�Docker����ԭ�����x����28
3.1��Docker����ă�(n��i)��֪�R����28
3.1.1��namespace�YԴ���x����28
3.1.2��cgroups�YԴ���ơ���45
3.2��Docker�ܘ�(g��u)���[����53
3.2.1��Docker daemon����54
3.2.2��Docker client����54
3.2.3���R���������54
3.2.4��execdriver��volumedriver��graphdriver����55
3.2.5��network����55
3.3��client��daemon����56
3.3.1��clientģʽ����56
3.3.2��daemonģʽ����58
3.3.3����client��daemon����64
3.4��libcontainer����67
3.4.1��libcontainer�Ĺ�����ʽ����69
3.4.2��libcontainer���F(xi��n)ԭ������70
3.4.3��ʹ��runC�clibcontainer�M�н�������75
3.5��Docker�R���������77
3.5.1��ʲô��Docker�R��77
3.5.2��Docker�R���P(gu��n)�I�����80
3.5.3��Docker�R��(g��u)����������81
3.5.4��Docker�R��ķְl(f��)��������84
3.6��Docker�惦��������87
3.6.1��Docker�R��Ԫ��(sh��)��(j��)��������87
3.6.2��Docker�惦�(q��)�ӡ���89
3.7��Docker��(sh��)��(j��)������99
3.7.1����(sh��)��(j��)����ʹ�÷�ʽ����100
3.7.2����(sh��)��(j��)��ԭ�����x����105
3.8��Docker�W(w��ng)�j(lu��)��������108
3.8.1��Docker�W(w��ng)�j(lu��)���A(ch��)����108
3.8.2��Docker daemon�W(w��ng)�j(lu��)����ԭ������116
3.8.3��libcontainer�W(w��ng)�j(lu��)����ԭ������119
3.8.4�����y(t��ng)��linkԭ����������125
3.8.5���µ�link��B����127
3.9��Docker�c������ȫ����129
3.9.1��Docker�İ�ȫ�C�ơ���129
3.9.2��Docker��ȫ���}����135
3.9.3��Docker��ȫ�Ľ�Q��������139
��4�¡�Docker �����`���ɡ���151
4.1��������˼�S����151
4.1.1��SSH����(w��)���������������151
4.1.2��Docker��(n��i)��(y��ng)����־������������152
4.1.3��������˼�S�����ࡡ��153
4.2��Docker���W(w��ng)�j(lu��)���`����153
4.2.1�����D(zhu��n)Linux networknamespace����154
4.2.2��pipeworkԭ����������159
4.2.3��pipework�����Cͨ�š���165
4.2.4��OVS����VLAN����170
4.2.5��OVS����ģʽ����174
4.3��Dockerfile*�ь��`����187
4.3.1��Dockerfile��ʹ�á���187
4.3.2��Dockerfile���`�ĵá���191
4.4��Docker�����ıO(ji��n)���ֶΡ���193
4.4.1��Docker�����O(ji��n)�ؾS�ȡ���194
4.4.2�������O(ji��n)�������195
4.4.3�����õ������O(ji��n)�ع��ߡ���197
4.5����������(y��ng)�Ø�(g��u)���Ļ��A(ch��)���߿����������ġ���201
4.5.1��etcd��(j��ng)�䑪(y��ng)�È�������201
4.5.2��etcd���F(xi��n)ԭ������206
�ڶ����֡�Docker��ƽ�_���x
��5�¡���(g��u)���Լ��������ơ���222
5.1����Մ��ƽ�_�ČӴμܘ�(g��u)����222
5.2����С�������ҡ���225
��6�¡���ע�����c�����������cFleet����230
6.1����������Fig/Compose����230
6.1.1����Մ���������c���𡡡�230
6.1.2��Composeԭ����һ̽��������233
6.2����ƽ�_�����h(hu��n)����������Machine����237
6.2.1��Machine�c̓�M�Cܛ������237
6.2.2��Machine�cIaaSƽ�_����238
6.2.3��Machine�Y(ji��)����239
6.3����Ⱥ����Swarm����240
6.3.1��Swarm���顡��240
6.3.2��ԇ��Swarm����241
6.3.3��Swarm��Ⱥ�Ķ�N��(chu��ng)����ʽ����243
6.3.4��Swarm��Ո���̎������245
6.3.5��Swarm��Ⱥ���{(di��o)�Ȳ��ԡ���245
6.3.6��Swarm��Ⱥ�߿��ã�HA������246
6.3.7��Swarm�cMachine����247
6.3.8��Swarm�Y(ji��)����248
6.4������֮��Fleet����248
6.4.1���f���}�½Ƕȣ�Docker distro����249
6.4.2��Fleet��ԭ����������252
��7�¡���ע��(y��ng)��֧�κ��\�Еr��Flynn��Deis����258
7.1��Flynn��һ��С�����ăɌӼܘ�(g��u)����258
7.1.1����0�ӣ������ƵĻ��A(ch��)�O(sh��)ʩ����259
7.1.2����1�ӣ������ƵĹ��ܿ�ܡ���259
7.1.3��Flynn�wϵ�ܘ�(g��u)�c���F(xi��n)ԭ������260
7.2��Մ?w��)�Deis�cFlynn����270
7.2.1����(y��ng)�ðl(f��)���ϵı��^����271
7.2.2���P(gu��n)��Deis��һЩ˼������273
��8�¡�һ�н�������Kubernetes����274
8.1��Kubernetes�ǂ�ʲô�ӵ��Ŀ����274
8.2��Kubernetes���O(sh��)Ӌ���x����275
8.2.1��һ�����Ͱ�����Guestbook����275
8.2.2��pod�O(sh��)Ӌ���x����277
8.2.3��replication controller�O(sh��)Ӌ���x����288
8.2.4��service���O(sh��)Ӌ���x����294
8.2.5����һ������������replica set����306
8.2.6��Deployment����307
8.2.7��DaemonSet����312
8.2.8��ConfigMap����312
8.2.9��Job����317
8.2.10��Horizontal Pod Autoscaler����318
8.3��Kubernetes���ĽM�����x����320
8.3.1��Kubernetes�����w�ܘ�(g��u)����320
8.3.2��APIServer����321
8.3.3��scheduler����328
8.3.4��controller manager����338
8.3.5��kubelet����346
8.3.6��kube-proxy����352
8.3.7�����ĽM���f(xi��)�����̡���362
8.4��Kubernetes�惦����ԭ������366
8.4.1��volume�O(sh��)Ӌ���x����366
8.4.2��volume���F(xi��n)ԭ����������367
8.4.3��volumeʹ�ð�������368
8.4.4��persistent volume����371
8.5��Kubernetes�W(w��ng)�j(lu��)����ԭ������372
8.5.1����pod��IPģ�͡���373
8.5.2��pod�;W(w��ng)�j(lu��)��������374
8.5.3�����F(xi��n)Kubernetes�ľW(w��ng)�j(lu��)ģ�͡���377
8.6��Kubernetes����������c�YԴ���ơ���381
8.6.1��namespace�O(sh��)Ӌ���x����381
8.6.2��Kubernetes�Ñ��J�C�C�ơ���385
8.6.3��Kubernetes�Ñ��ڙ�(qu��n)�C�ơ���387
8.6.4��Kubernetes��S�YԴ����C��admission control����390
8.7��Kubernetes�����`����402
8.7.1����(y��ng)�ý����z�顡��402
8.7.2���߿����ԡ���405
8.7.3����־����408
8.7.4������DNS����410
8.7.5�����������ĭh(hu��n)������412
8.8��Kubernetes����414
8.8.1��Ubernetes����414
8.8.2��petSet����415
8.8.3��performance����417
8.8.4��rescheduler����417
8.8.5��OCI�˜ʡ���419
8.9����Ҫֹͣ˼������419
�������֡����
���A��Docker���b����424
���B����xDockerԴ���a�������������432
���C��������Ϥ�_Դ�Ŀ����441
���D��cgroups�Ĝyԇ�cʹ�á���444
���E��cgroups��ϵ�y(t��ng)���Å���(sh��)��B����448
���F��Kubernetes���b����453
��ӛ����457 ��Ϣ
չ�_ȫ��
Docker�����c������-��2�� ���P(gu��n)�Y��
“�mȻ�ڴ�֮ǰ�ѽ�(j��ng)������Docker�F꠳��ĵ�һ��Docker���������@�LJ���(n��i)��һ��������xDocker�cKubernetesԭ����ԭ��(chu��ng)�D�����@һ�c���x�ش����������^�����ؽ�B��Docker�cKubernetes�Ĺ���ԭ�������B(t��i)���dz��н��b���x��”——�Sʽ������ţ�ƴ惦CEO
“Docker�������g(sh��)�ѽ�(j��ng)�ڇ���(n��i)�����ݱ�������������㽭��W(xu��)SEL�����Ŀǰ�LJ���(n��i)����Docker���g(sh��)���쾚�ļ��g(sh��)�F�֮һ�������ڇ���(n��i)Docker���g(sh��)��һֱ�a(ch��n)������ҪӰ����@��������Docker�Č���(zh��n)��(j��ng)�R���ɕ������Ԏ��������Docker�ۺ��ߌW(xu��)��(x��)��һ�ֵČ���(zh��n)��(j��ng)���”——Ф�r����(sh��)�˿Ƽ�CTO
“�����dz����µ��v����Docker���g(sh��)�ā���ȥ�}�ͼ��g(sh��)����(ji��)�������y����߀������Docker���B(t��i)��(d��ng)�е��������g(sh��)��Docker�@헼��g(sh��)�������nj���N˼��ͼ��g(sh��)�ںϵĮa(ch��n)���������B(t��i)��ҕ��ȥ���x���g(sh��)�ā���ȥ�}���O��ش��M�x�ߌ���Ӌ����������g(sh��)������˼����”——���@�������žW(w��ng)CTO
“�mȻ�ڴ�֮ǰ�ѽ�(j��ng)������Docker�F꠳��ĵ�һ��Docker���������@�LJ���(n��i)��һ��������xDocker�cKubernetesԭ����ԭ��(chu��ng)�D�����@һ�c���x�ش������^�����ؽ�B��Docker�cKubernetes�Ĺ���ԭ�������B(t��i)���dz��н��b���x��”——�Sʽ������ţ�ƴ惦CEO
“Docker�������g(sh��)�ѽ�(j��ng)�ڇ���(n��i)�����ݱ�������������㽭��W(xu��)SEL�����Ŀǰ�LJ���(n��i)����Docker���g(sh��)���쾚�ļ��g(sh��)�F�֮һ�������ڇ���(n��i)Docker���g(sh��)��һֱ�a(ch��n)������ҪӰ����@��������Docker�Č���(zh��n)��(j��ng)�R���ɕ������Ԏ��������Docker�ۺ��ߌW(xu��)��(x��)��һ�ֵČ���(zh��n)��(j��ng)���”——Ф�r����(sh��)�˿Ƽ�CTO
“�����dz����µ��v����Docker���g(sh��)�ā���ȥ�}�ͼ��g(sh��)����(ji��)�������y����߀������Docker���B(t��i)��(d��ng)�е��������g(sh��)��Docker�@헼��g(sh��)�������nj���N˼��ͼ��g(sh��)�ںϵĮa(ch��n)���������B(t��i)��ҕ��ȥ���x���g(sh��)�ā���ȥ�}���O��ش��M�x�ߌ���Ӌ����������g(sh��)������˼����”——���@�壬���žW(w��ng)CTO
“�������^�����L�������������Ƽ��g(sh��)�l(f��)չ���˳������B(t��i)ϵ�y(t��ng)���^����Docker��Kubernetes������M������ȷ������oՓ��Docker���g(sh��)�ۺ�����߀��ϵ�y(t��ng)�ܘ�(g��u)�����ƶ��_�l(f��)����ϵ�y(t��ng)�������\�S�ˆT�������ڱ������ҵ��m���Լ���x��Ҫ�c���㽭��W(xu��)SEL�������Ӌ��F���һ֧�dz���(y��u)�����Ӌ���о��F����ܶ�85����90���˲Ż��S��피���^(q��)ǰ�������x�����܌������֪�R���ǻ۷e�۷���������”——�������ٶ��\�S�����ܘ�(g��u)�����ɴΰٶ���ߪ��@����
“�������㽭��W(xu��)SEL�������Ӌ��F꠶������Docker��������������g(sh��)�ĽY(ji��)�����������c���������������и��N���ð����ͼ����v�����������@���������������ذ�Docker����߅�a(ch��n)Ʒ����Ԙ�(g��u)���`���׃����ƽ�_����Ҳ�M�������ӵ��U���”——������Ӱ�r���ܘ�(g��u)������Go���l(f��)���̌���(zh��n)������
“Docker����������g(sh��)��Ҳ���������g(sh��)�������µĸ߶ȡ�InfoQ��2014������_ʼ�����P(gu��n)ע�������g(sh��)��Ҋ�C�����텢�c���������g(sh��)�İl(f��)չ�������҂��ă�(y��u)�����ߣ��㽭��W(xu��)SEL�������InfoQ���˺ܶ��cDocker��Kubernetes���P(gu��n)�ļ��g(sh��)���£��õ��ˏV���x�ߵĿ϶���ϣ���@�������Ƅ��������g(sh��)���Ї��������”——������InfoQ����
“�㽭��W(xu��)SEL����Ҍ��ڇ���(n��i)�^����|���о��_ԴPaaS���g(sh��)�ĈF�֮һ���Ă��y(t��ng)PaaS���_Դ����CloudFoundry��OpenShift������һ������Docker��PaaSƽ�_��DEIS��Flynn������������������о��͌��`��(j��ng)�����y�õ������������H���c�_Դؕ�I�����ҹP�����z��ͨ�^������Փ���ȷ�ʽ�e�O������������Ѓ�(n��i)���ļ��g(sh��)���������V�����c����(n��i)PaaS�ø��N���g(sh��)�������h���A��PaaS�F�Ҳ���c֮�����м�ȡ�˲��٠I�B(y��ng)���˴�������������팦Docker������Kubernetes��DEIS��Flynn��PaaS�_Դƽ�_���о��ɹ��Y(ji��)���Ƀԣ���(n��i)��Ԕ�M������\���������ţ��oՓ�����T��߀�����������܉���Ы@����”——���Ղ����A������ܛ��Ժ
“�������g(sh��)�ڴ��ͻ�(li��n)�W(w��ng)��I(y��)���яV����(y��ng)������Docker���������g(sh��)�еĽܳ��������������H��B��Docker���A(ch��)֪�R�������M���˴��a���������������ͨ�^��Kubernetes�ȼ��g(sh��)���v����������Ⱥ����ϵ�y(t��ng)�Լ���Docker���B(t��i)�I(l��ng)���˼����ͬ�r�Y(ji��)���˴������`����(n��i)���S����ֵ�Ó�����”——���������ٶ��\�S�����ܘ�(g��u)����JPaaS�Ŀؓ؟(z��)��
“Docker�������ϵ�y(t��ng)�����p������̓�M�����g(sh��)���{�躆��ʹ�á����ٵIJ����Լ��`�����ݵļ���֧�ֵȃ�(y��u)�����춨��Docker�����PaaS�I(l��ng)��Ľ�����λ��
�㽭��W(xu��)SEL���������Ӌ��� PaaS�I(l��ng)����Ŷ�����
�e�����S���Ľ�(j��ng)�������Ќ�DockerԴ���a�������Ƚ��x��Ҳ�Ќ���(zh��n)��(j��ng)�ķ�����ϣ���@�����܉����Docker�_�l(f��)���ڼ��g(sh��)�ϸ���һ�Ә���”——�����t��Λρ������A(ch��)���g(sh��)��JVM Architect��Ϣ
Docker�����c������-��2�� ���ߺ���
�㽭��W(xu��)ܛ�����̌���ң�Software Engineering Lab��SEL����Ӌ��FM����2011�꣬�M����ʿ�ʹTʿ�о�������������@���_Դ����Ӌ�㼼�g(sh��)������Docker��Kubernetes��Cloud Foundry��OpenStack��CloudStack��Eucalyptus��Convirt��OpenShift�����e�O���_Դ��^(q��)ؕ�I���a�������ͅ��c���Ͼ���ӑՓ��^(q��)�����Ӈ���(n��i)����Ӌ�㼼�g(sh��)������l(f��)�ԡ����_Դ��^(q��)�鼼�g(sh��)�����аl(f��)ƽ�_���㽭��W(xu��)SEL�������4���ĕr�g����L��һ����M������������������Ӌ���аl(f��)�F���Ҳ�ڇ���(n��i)���_Դ��Ӌ����^(q��)����������Docker��Kubernetes��Cloud Foundry��^(q��)�õ��ˏV���J����