Docker 基本命令( Version:18.09.2撩鹿,Win10,多機(jī)集群模式)

了解Swarm集群

Swarm集群是一組運(yùn)行Docker并加入集群的計算機(jī)悦屏。但現(xiàn)在它們由集群管理器控制在集群上執(zhí)行三痰。群中的機(jī)器可以是物理的或虛擬的。加入群組后窜管,它們被稱為節(jié)點(diǎn)

Swarm管理器可以使用多種策略來運(yùn)行容器稚机,例如“emptiest node” - 它使用容器利用率最低的機(jī)器幕帆。或“global”赖条,它確保每臺機(jī)器只獲得指定容器的一個實例失乾。您可以使用Compose文件指定這些策略。

Swarm管理器是群中唯一可以執(zhí)行命令的機(jī)器纬乍,或授權(quán)其他機(jī)器作為worker加入Swarm管理器碱茁。worker只是在那里提供工作能力,沒有權(quán)力告訴任何其他機(jī)器能做什么和不能做什么仿贬。

到目前為止纽竣,一直在本地計算機(jī)上以單主機(jī)模式使用Docker。但Docker也可以切換到swarm模式茧泪,這就是使用群集的原因蜓氨。立即啟用Swarm集群模式使當(dāng)前計算機(jī)成為swarm管理器。從現(xiàn)在起队伟,Docker指令就會運(yùn)行在swarm集群上穴吹,而不僅僅是在當(dāng)前機(jī)器上。

開啟集群模式

群由多個節(jié)點(diǎn)組成嗜侮,可以是物理或虛擬機(jī)港令∩度荩基本概念很簡單:運(yùn)行docker swarm init以啟用swarm模式并使當(dāng)前計算機(jī)成為一個swarm管理器,然后在其他計算機(jī)上運(yùn)行docker swarm join 以使它們作為worker加入swarm顷霹。我們使用VM快速創(chuàng)建一個雙機(jī)群集并將其轉(zhuǎn)換為swarm集群咪惠。

創(chuàng)建一個集群

本地計算機(jī)上的VM(MAC硝逢,LINUX,WINDOWS 7和8)

您需要一個可以創(chuàng)建虛擬機(jī)(VM)的虛擬機(jī)管理程序绅喉,因此為您的計算機(jī)操作系統(tǒng)安裝Oracle VirtualBox渠鸽。

注意:如果您使用的是安裝了Hyper-V的Windows系統(tǒng)(如Windows 10),則無需安裝VirtualBox柴罐,而應(yīng)使用Hyper-V徽缚。如果你使用的是Docker Toolbox,你應(yīng)該已經(jīng)安裝了VirtualBox作為其中的一部分革屠。就不用安裝了凿试。

現(xiàn)在,docker-machine使用VirtualBox驅(qū)動程序創(chuàng)建幾個VM :

docker-machine create --driver virtualbox myvm1
docker-machine create --driver virtualbox myvm2

本地計算機(jī)上的VM(WINDOWS 10)

首先似芝,快速創(chuàng)建虛擬交換機(jī)以供虛擬機(jī)(VM)共享那婉,以便它們可以相互連接。

  1. 啟動Hyper-V管理器
  2. 單擊右側(cè)菜單中的虛擬交換機(jī)管理器
  3. 單擊新建虛擬網(wǎng)絡(luò)交換機(jī),類型為外部
  4. 為其命名myswitch党瓮,然后選中該框以共享主機(jī)的活動網(wǎng)絡(luò)適配器
    創(chuàng)建虛擬網(wǎng)絡(luò)交換機(jī)

    創(chuàng)建完成

現(xiàn)在详炬,使用我們的節(jié)點(diǎn)管理工具創(chuàng)建幾個VM docker-machine

注意:您需要以管理員身份運(yùn)行以下命令,否則您無權(quán)創(chuàng)建hyperv VM寞奸!

docker-machine create -d hyperv --hyperv-virtual-switch "myswitch" myvm1
docker-machine create -d hyperv --hyperv-virtual-switch "myswitch" myvm2

創(chuàng)建完成

列出虛擬機(jī)并獲取其IP地址

您現(xiàn)在創(chuàng)建了兩個名為myvm1和的VM myvm2呛谜。

使用此命令列出計算機(jī)并獲取其IP地址。

注意:您需要以管理員身份運(yùn)行以下命令枪萄,否則您將無法獲得合理的輸出(僅“未知”)隐岛。

docker-machine ls

以下是此命令的示例輸出。

C:\Windows\system32>docker-machine ls
NAME    ACTIVE   DRIVER   STATE     URL                        SWARM   DOCKER     ERRORS
myvm1   -        hyperv   Running   tcp://192.168.1.100:2376           v18.09.6
myvm2   -        hyperv   Running   tcp://192.168.1.102:2376           v18.09.6

初始化SWARM并添加節(jié)點(diǎn)

第一臺機(jī)器充當(dāng)管理器瓷翻,它執(zhí)行管理命令并驗證worker加入群聚凹,第二臺是worker

您可以使用命令docker-machine ssh向VM發(fā)送命令齐帚。使myvm1 成為一個swarm管理器即在myvm1 上執(zhí)行docker swarm init并查找如下輸出:

docker-machine ssh myvm1 "docker swarm init --advertise-addr <myvm1 ip>"
C:\Windows\system32>docker-machine ssh myvm1 "docker swarm init --advertise-addr 192.168.1.100"
Swarm initialized: current node (dvlpu7zv6kkwg2qr3dpa0sk3k) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-4x24xi9xtm4pbu42py3fugh2lee1cekodzy8rt8e82nq99rtgh-00i3d8t9sh6445n4akxe71zkf 192.168.1.100:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.


C:\Windows\system32>

端口2377和2376

docker swarm initdocker swarm join使用端口2377(集群管理端口)元践,沒有給定端口的時候,使用這個默認(rèn)值童谒。

docker-machine ls返回的計算機(jī)IP地址包含端口2376 单旁,即Docker守護(hù)程序端口。請勿使用此端口饥伊,否則 您可能會遇到錯誤象浑。

使用SSH時遇到問題蔫饰?試試--native-ssh標(biāo)志

Docker Machine 可以讓您使用自己系統(tǒng)的SSH,如果由于某種原因您無法向Swarm管理器發(fā)送命令愉豺。只需--native-ssh在調(diào)用ssh命令時指定 標(biāo)志:

docker-machine --native-ssh ssh myvm1 ...

如您所見篓吁,響應(yīng)docker swarm init包含一個預(yù)先配置的 docker swarm join命令,您可以在要添加的任何節(jié)點(diǎn)上運(yùn)行該命令蚪拦。復(fù)制此命令杖剪,并將其發(fā)送到myvm2比如 docker-machine sshmyvm2 作為worker加入到swarm集群:

$ docker-machine ssh myvm2 "docker swarm join \
--token <token> \
<ip>:2377"

This node joined a swarm as a worker.

示例輸出:

C:\Windows\system32>docker-machine ls
NAME    ACTIVE   DRIVER   STATE     URL                        SWARM   DOCKER     ERRORS
myvm1   -        hyperv   Running   tcp://192.168.1.100:2376           v18.09.6
myvm2   -        hyperv   Running   tcp://192.168.1.102:2376           v18.09.6

C:\Windows\system32>docker-machine ssh myvm1 "docker swarm init --advertise-addr 192.168.1.100"
Swarm initialized: current node (dvlpu7zv6kkwg2qr3dpa0sk3k) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-4x24xi9xtm4pbu42py3fugh2lee1cekodzy8rt8e82nq99rtgh-00i3d8t9sh6445n4akxe71zkf 192.168.1.100:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.


C:\Windows\system32>docker-machine ssh myvm2 "docker swarm join --token SWMTKN-1-4x24xi9xtm4pbu42py3fugh2lee1cekodzy8rt8e82nq99rtgh-00i3d8t9sh6445n4akxe71zkf 192.168.1.100:2377"
This node joined a swarm as a worker.

萬一token 被清除了咋辦?執(zhí)行docker swarm join-token worker|manager命令:

PS F:\dockerExample> docker-machine ssh myvm1 "docker swarm join-token worker"
To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-3oarvifh2gcrbogkim66wj9enk0exh5r3jn1oagqrpp6tynds6-1wcidoxi0hilmuxgrvw0tdu8n 192.168.1.100:2377

PS F:\dockerExample>

恭喜你驰贷,你已經(jīng)創(chuàng)建了你的第一個集群盛嘿!

使用docker node ls在swarm管理器上運(yùn)行以查看此群中的節(jié)點(diǎn):

C:\Windows\system32>docker node ls
Error response from daemon: This node is not a swarm manager. Use "docker swarm init" or "docker swarm join" to connect this node to swarm and try again.

C:\Windows\system32>docker-machine ssh myvm1 "docker node ls"
ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
dvlpu7zv6kkwg2qr3dpa0sk3k *   myvm1               Ready               Active              Leader              18.09.6
gvhr76swgxf98i22lzilrbq3f     myvm2               Ready               Active                                  18.09.6

離開集群

可以在節(jié)點(diǎn)上運(yùn)行docker swarm leave

C:\Windows\system32>docker-machine ssh myvm2 "docker swarm leave"
Node left the swarm.

C:\Windows\system32>docker-machine ssh myvm1 "docker node ls"
ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
dvlpu7zv6kkwg2qr3dpa0sk3k *   myvm1               Ready               Active              Leader              18.09.6
gvhr76swgxf98i22lzilrbq3f     myvm2               Down                Active                                  18.09.6
# 可以看到不是真的離開了集群,只是狀態(tài)變?yōu)镈own了括袒,重新連一下:
PS F:\dockerExample> docker-machine ssh myvm2 "docker swarm join --token SWMTKN-1-3oarvifh2gcrbogkim66wj9enk0exh5r3jn1oagqrpp6tynds6-1wcidoxi0hilmuxgrvw0tdu8n 192.168.1.100:2377"
This node joined a swarm as a worker.
PS F:\dockerExample> docker-machine ssh myvm1 "docker node ls"
ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
w4pvuf32jsatq0q8g89tq5sm8 *   myvm1               Ready               Active              Leader              18.09.6
pxl1s3glvsxmdg14c5sj3w2bh     myvm2               Ready               Active                                  18.09.6
qr2nfew2478b5wriz7d3edxow     myvm2               Down                Active                                  18.09.6
PS F:\dockerExample> docker-machine ssh myvm1 "docker node rm myvm2"
Error response from daemon: node myvm2 is ambiguous (2 matches found)
exit status 1
# 多了一個myvm2次兆,狀態(tài)為Down,作為一個強(qiáng)迫癥锹锰,我要刪除它
PS F:\dockerExample> docker-machine ssh myvm1 "docker node rm qr2nfew2478b5wriz7d3edxow"
qr2nfew2478b5wriz7d3edxow
PS F:\dockerExample> docker-machine ssh myvm1 "docker node ls"
ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
w4pvuf32jsatq0q8g89tq5sm8 *   myvm1               Ready               Active              Leader              18.09.6
pxl1s3glvsxmdg14c5sj3w2bh     myvm2               Ready               Active                                  18.09.6

計算機(jī)異常關(guān)機(jī)了芥炭,或者說正常重啟之后,通過hyper-v創(chuàng)建的虛擬機(jī)地址變了咋辦恃慧?
其實在創(chuàng)建完成虛擬機(jī)之后就給它設(shè)置靜態(tài)ip园蝠,通過本教程創(chuàng)建的虛擬機(jī)的操作系統(tǒng)類型是tinycorelinux
如果想給他配置靜態(tài)ip,可以執(zhí)行docker-machine ssh myvm*去修改網(wǎng)絡(luò)配置文件痢士,但是很不幸彪薛,我沒找到相關(guān)資料徽职,所以我決定刪除它們,通過docker-machine rm myvm*刪除虛擬機(jī)勉耀,如果報錯exit code 1 之類的話荣赶,執(zhí)行docker-machine rm -f myvm*,再去hyper-v管理器中手動刪除虛擬機(jī)褥蚯,再重新創(chuàng)建一邊就好,當(dāng)然况增,你如果找到了tinycorelinux的網(wǎng)絡(luò)配置文件赞庶,也可以跟我說一下

在群集群集上部署您的應(yīng)用程序

請記住,Swarm管理器myvm1才能執(zhí)行Docker命令; woker只是為了干活澳骤。

使用docker-machine為swarm管理器配置shell

到目前為止歧强,我們都是通過docker-machine ssh命令與VM通信中。另一種更方便的方式是執(zhí)行docker-machine env <machine>獲取一個命令为肮,該命令將當(dāng)前shell配置為與VM上的Docker守護(hù)程序通信摊册,即將當(dāng)前命令行的輸入轉(zhuǎn)發(fā)到虛擬機(jī)執(zhí)行。在執(zhí)行下一步之前颊艳,最好執(zhí)行這個命令茅特,因為它允許您使用本地docker-compose.yml文件“遠(yuǎn)程”部署應(yīng)用程序忘分,而無需將該文件復(fù)制到虛擬機(jī)

鍵入docker-machine env myvm1,復(fù)制輸出的最后一行提供的命令并運(yùn)行白修,以配置要與之通信的shell(myvm1swarm管理器)妒峦。記住,只有swarm管理器才能執(zhí)行docker命令兵睛,worker 只是干活的

配置shell的命令在Mac肯骇,Linux或Windows上是不同的

MAC或LINUX上的Docker 配置shell

運(yùn)行docker-machine env myvm1命令獲取與 myvm1配置shell的命令。

$ docker-machine env myvm1
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.1.100:2376"
export DOCKER_CERT_PATH="/Users/sam/.docker/machine/machines/myvm1"
export DOCKER_MACHINE_NAME="myvm1"
# Run this command to configure your shell:
# eval $(docker-machine env myvm1)

WINDOWS上的DOCKER機(jī)器SHELL環(huán)境

運(yùn)行docker-machine env myvm1命令獲取與 myvm1配置shell的命令祖很。

PS C:\Users\sam\sandbox\get-started> docker-machine env myvm1
$Env:DOCKER_TLS_VERIFY = "1"
$Env:DOCKER_HOST = "tcp://192.168.203.207:2376"
$Env:DOCKER_CERT_PATH = "C:\Users\sam\.docker\machine\machines\myvm1"
$Env:DOCKER_MACHINE_NAME = "myvm1"
$Env:COMPOSE_CONVERT_WINDOWS_PATHS = "true"
# Run this command to configure your shell:
# & "C:\Program Files\Docker\Docker\Resources\bin\docker-machine.exe" env myvm1 | Invoke-Expression

運(yùn)行給定命令來配置與myvm1通信的shell 笛丙。

& "C:\Program Files\Docker\Docker\Resources\bin\docker-machine.exe" env myvm1 | Invoke-Expression

運(yùn)行docker-machine ls來驗證myvm1是活動計算機(jī)(Active列為*)。

PS C:PATH> docker-machine ls
NAME    ACTIVE   DRIVER   STATE     URL                          SWARM   DOCKER        ERRORS
myvm1   *        hyperv   Running   tcp://192.168.203.207:2376           v17.06.2-ce
myvm2   -        hyperv   Running   tcp://192.168.200.181:2376           v17.06.2-ce


在swarm管理器上部署應(yīng)用程序

現(xiàn)在你配置了本地shell連接到myvm1突琳,您可以使用本地shell作為Swarm管理器若债,它現(xiàn)在也可以訪問你本地計算機(jī)上的文件,通過使用docker stack deploy命令以及本地docker-compose.yml文件來部署您的應(yīng)用程序拆融。部署需要一些時間才能完成蠢琳。使用docker service ps <service_name> 命令驗證是否已部署所有服務(wù)。
與以前一樣镜豹,運(yùn)行以下命令部署應(yīng)用程序:

docker stack deploy --with-registry-auth  -c docker-compose.yml getstartedlab

就是這樣傲须,應(yīng)用程序部署在一個多機(jī)集群中!

注意:如果您的映像存儲在私有倉庫而不是Docker Hub上趟脂,則需要使用登錄docker login <your-registry>泰讽,然后需要將--with-registry-auth標(biāo)志添加到部署命令中。例如:

docker login registry.example.com

docker stack deploy --with-registry-auth -c docker-compose.yml getstartedlab

這會使用加密的WAL日志將登錄令牌從本地客戶端傳遞到部署服務(wù)的swarm節(jié)點(diǎn)昔期。有了這些信息已卸,節(jié)點(diǎn)就可以登錄注冊表并提取圖像。

現(xiàn)在硼一,您可以使用docker stack ps getstartedlab命令查看堆的狀態(tài)累澡。只是這一次的服務(wù)(和相關(guān)容器)已經(jīng)在myvm1myvm2兩者上都有部署。

$ docker stack ps getstartedlab

ID            NAME                  IMAGE                   NODE   DESIRED STATE
jq2g3qp8nzwx  getstartedlab_web.1   gordon/get-started:part2  myvm1  Running
88wgshobzoxl  getstartedlab_web.2   gordon/get-started:part2  myvm2  Running
vbb1qbkb0o2z  getstartedlab_web.3   gordon/get-started:part2  myvm2  Running
ghii74p9budx  getstartedlab_web.4   gordon/get-started:part2  myvm1  Running
0prmarhavs87  getstartedlab_web.5   gordon/get-started:part2  myvm2  Running

使用docker-machine envdocker-machine ssh連接到VM

  • 要將shell設(shè)置為與其他機(jī)器通信般贼,只需將命令 docker-machine env <machine>輸出的最后一行命令愧哟,在相同或不同的shell中運(yùn)行。這始終特定于當(dāng)前shell哼蛆。如果更改為未配置的shell或重新打開的shell蕊梧,則需要重新運(yùn)行。
  • 或者腮介,使用命令 docker-machine ssh <machine> "<command>"直接發(fā)送到VM中肥矢,但不能訪問本地主機(jī)上的文件。你需要用scp命令或者類似的遠(yuǎn)程拷貝工具來拷貝本地文件到遠(yuǎn)程
  • 在Mac和Linux上叠洗,您可以使用docker-machine scp <file> <machine>:~ 跨機(jī)器復(fù)制文件橄抹,但Windows用戶需要像Git Bash這樣的Linux終端模擬器才能正常執(zhí)行靴迫。

本教程演示的docker-machine sshdocker-machine env,他們可以在任何平臺執(zhí)行

訪問集群上的應(yīng)用

你可以用myvm1myvm2的IP地址來訪問你的應(yīng)用程序 楼誓。

它們之間共享網(wǎng)絡(luò)并進(jìn)行負(fù)載均衡玉锌。運(yùn)行 docker-machine ls獲取VM的IP地址,并在瀏覽器上訪問其中任何一個疟羹,點(diǎn)擊刷新(或者執(zhí)行curl命令)主守。

瀏覽器中的Hello World

HostName有五種可能,都是五個容器ID中的一個榄融,這表明進(jìn)行了負(fù)載均衡参淫。

兩個IP地址都可以正常訪問的原因是群中的節(jié)點(diǎn)都加入了路由網(wǎng)格。這可確無論實際運(yùn)行容器的是哪個節(jié)點(diǎn)愧杯,部署在swarm中某個端口的服務(wù)始終將該端口保留給自身涎才,下面是一個圖表,說明在三節(jié)點(diǎn)群上上發(fā)布的端口為8080my-web服務(wù)的路由網(wǎng)格:

路由網(wǎng)格圖

連接時候出了問題力九?

請記住耍铜,要在群集中使用ingress network,您需要在啟用群集模式之前在群集節(jié)點(diǎn)之間打開以下端口:

  • 端口7946 TCP / UDP用于容器網(wǎng)絡(luò)發(fā)現(xiàn)跌前。
  • 端口4789 UDP 用于容器ingress network棕兼。

仔細(xì)檢查您的Web服務(wù)端口,并確保您在瀏覽器中輸入的IP地址正確

迭代和擴(kuò)展您的應(yīng)用程序

通過更改docker-compose.yml文件來擴(kuò)展應(yīng)用程序抵乓。

通過編輯代碼伴挚,可以重建并推送新圖像來更改應(yīng)用程序行為。

在任何情況下灾炭,只需再次運(yùn)行docker stack deploy即可部署這些更改茎芋。

您可以使用docker swarm join命令將任何計算機(jī)(物理或虛擬)加入這個集群,并將容量添加到群集中蜈出。只需在之后運(yùn)行docker stack deploy田弥,您的應(yīng)用就會部署到新的節(jié)點(diǎn)。

清理并重新啟動

stack和swarm

你可以docker stack rm從stack中停止服務(wù)掏缎。例如:

docker stack rm getstartedlab

如何從群中移除節(jié)點(diǎn)

如果你想從群里移除節(jié)點(diǎn)皱蹦,如果是worker煤杀,比如要移除myvm2節(jié)點(diǎn)眷蜈,可以執(zhí)行 docker-machine ssh myvm2 "docker swarm leave",如果是Swarm管理器沈自,比如myvm1酌儒,則執(zhí)行docker-machine ssh myvm1 "docker swarm leave --force"

取消設(shè)置docker-machine shell變量設(shè)置

您可以docker-machine使用給定命令在當(dāng)前shell中取消環(huán)境變量設(shè)置。這樣當(dāng)前命令行就不會轉(zhuǎn)發(fā)命令給docker vm

Mac或Linux上枯途,命令是:

  eval $(docker-machine env -u)

Windows上忌怎,命令是:

  & "C:\Program Files\Docker\Docker\Resources\bin\docker-machine.exe" env -u | Invoke-Expression

這會使shell與docker-machine創(chuàng)建的虛擬機(jī)斷開連接

重啟Docker機(jī)器

如果關(guān)閉本地主機(jī)籍滴,重啟后Docker創(chuàng)建的虛擬計算機(jī)將停止運(yùn)行。您可以通過運(yùn)行docker-machine ls來檢查機(jī)器的狀態(tài)榴啸。

$ docker-machine ls
NAME    ACTIVE   DRIVER       STATE     URL   SWARM   DOCKER    ERRORS
myvm1   -        virtualbox   Stopped                 Unknown
myvm2   -        virtualbox   Stopped                 Unknown

要重新啟動已停止的計算機(jī)孽惰,請運(yùn)行:

docker-machine start <machine-name>

例如:

$ docker-machine start myvm1
Starting "myvm1"...
(myvm1) Check network to re-create if needed...
(myvm1) Waiting for an IP...
Machine "myvm1" was started.
Waiting for SSH to be available...
Detecting the provisioner...
Started machines may have new IP addresses. You may need to re-run the `docker-machine env` command.

$ docker-machine start myvm2
Starting "myvm2"...
(myvm2) Check network to re-create if needed...
(myvm2) Waiting for an IP...
Machine "myvm2" was started.
Waiting for SSH to be available...
Detecting the provisioner...
Started machines may have new IP addresses. You may need to re-run the `docker-machine env` command.
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市鸥印,隨后出現(xiàn)的幾起案子勋功,更是在濱河造成了極大的恐慌,老刑警劉巖库说,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件狂鞋,死亡現(xiàn)場離奇詭異,居然都是意外死亡潜的,警方通過查閱死者的電腦和手機(jī)骚揍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來啰挪,“玉大人信不,你說我怎么就攤上這事∑旯” “怎么了浑塞?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長政己。 經(jīng)常有香客問我酌壕,道長,這世上最難降的妖魔是什么歇由? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任卵牍,我火速辦了婚禮,結(jié)果婚禮上沦泌,老公的妹妹穿的比我還像新娘糊昙。我一直安慰自己,他們只是感情好谢谦,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布释牺。 她就那樣靜靜地躺著,像睡著了一般回挽。 火紅的嫁衣襯著肌膚如雪没咙。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天千劈,我揣著相機(jī)與錄音祭刚,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛涡驮,可吹牛的內(nèi)容都是我干的暗甥。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼捉捅,長吁一口氣:“原來是場噩夢啊……” “哼撤防!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起棒口,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤即碗,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后陌凳,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體剥懒,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年合敦,在試婚紗的時候發(fā)現(xiàn)自己被綠了初橘。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡充岛,死狀恐怖保檐,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情崔梗,我是刑警寧澤夜只,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站蒜魄,受9級特大地震影響扔亥,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜谈为,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一旅挤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧伞鲫,春花似錦粘茄、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至吠架,卻和暖如春芙贫,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背诵肛。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工屹培, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人怔檩。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓褪秀,卻偏偏與公主長得像,于是被迫代替她去往敵國和親薛训。 傳聞我的和親對象是個殘疾皇子媒吗,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 注意: 該 Docker 版本為了支持 Docker 機(jī),于是不再支持 Boot2Docker 命令行。使用 Do...
    提莫隊長1234閱讀 4,590評論 0 8
  • 在集群上部署應(yīng)用乙埃,運(yùn)行在多個機(jī)器上闸英。多個容器、多個機(jī)器應(yīng)用通過將多個機(jī)器加入到docker集群(Dockerize...
    渭小粉閱讀 366評論 0 1
  • 這是Docker文檔的第四部分的翻譯,原文請點(diǎn)擊這里 必要條件 安裝Docker1.13版本或者更高的版本 在第3...
    _我和你一樣閱讀 393評論 0 0
  • 我和妻子很少回老家介袜,原因是岳母不好相處甫何,管束極嚴(yán)。在她面前遇伞,你總感覺冥冥之中有一雙眼睛盯著辙喂,渾身不自在。不洗澡鸠珠,不...
    愛佛僧閱讀 1,307評論 27 17
  • 那一年巍耗,16 這一年,45 三十年后的記憶 清晰還是模糊
    四生九有閱讀 223評論 0 0