【現(xiàn)學現(xiàn)忘Docker基礎】— 33.實戰(zhàn):自定義Tomcat9鏡像

1笋颤、目標

  • 以contos鏡像為基礎鏡像,自定義一個tomcat9的鏡像都毒。
  • 鏡像可以正常運行色罚,外界可以訪問。
  • 與宿主機與tomcat9之間配置掛載温鸽。
  • 部署一個簡單的WEB項目保屯,外界可以訪問手负。

2、準備

準備tomcat壓縮包姑尺,因為tomcat的運行需要JDK竟终,所以也需要JDK8的壓縮包。

如下:

  • apache-tomcat-9.0.44.tar.gz

  • jdk-8u11-linux-x64.tar.gz

都上傳到服務器的/home/mydockerfile/tomcat9目錄中切蟋。

/home/mydockerfile/tomcat9
[root@192 tomcat9]# ll
總用量 166516
-rw-r--r--. 1 root root  11487016 3月  21 00:18 apache-tomcat-9.0.44.tar.gz
-rw-r--r--. 1 root root 159019376 3月  21 00:18 jdk-8u11-linux-x64.tar.gz

創(chuàng)建一個readme.txt文件统捶,用于之后的宿主機與容器之間的拷貝。

創(chuàng)建一個Dockerfile文件:Dockerfile柄粹。

[root@192 tomcat9]# touch readme.txt
[root@192 tomcat9]# touch Dockerfile
[root@192 tomcat9]# ll
總用量 166516
-rw-r--r--. 1 root root  11487016 3月  21 00:18 apache-tomcat-9.0.44.tar.gz
-rw-r--r--. 1 root root         0 3月  21 00:39 Dockerfile
-rw-r--r--. 1 root root 159019376 3月  21 00:18 jdk-8u11-linux-x64.tar.gz
-rw-r--r--. 1 root root         0 3月  21 00:39 readme.txt

提示:Dockerfile文件喘鸟,官方推薦命名為Dockerfile,在使用docker build命令的時候驻右,會自動去尋找這個Dockerfile文件什黑,就不需要在用-f參數(shù)指定Dockerfile文件的位置了。

3堪夭、編寫Dockerfile文件

Dockerfile文件配置內容如下:

FROM centos
MAINTAINER wukong<wukong6688@126.com>

# 把宿主機當前上下文的readme.txt拷貝到容器/usr/local/路徑下
# 并把readme.txt文件重命名cincontainer.txt文件
COPY readme.txt /usr/local/cincontainer.txt

# 把宿主機當前上下文的(也就是當前目錄)java與tomcat安裝包添加到容器中
ADD apache-tomcat-9.0.44.tar.gz /usr/local/
ADD jdk-8u11-linux-x64.tar.gz /usr/local/

# 安裝vim編輯器
RUN yum -y install vim

# 設置工作訪問時候的MORKDIR路徑愕把,登錄DE 落腳點
ENV MYPATH /usr/local 
WORKDIR $MYPATH

# 配置java與tomcat環(huán)境變量
# 配置java環(huán)境
ENV JAVA_HOME /usr/local/jdk1.8.0_11
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar # 通過冒號隔開
# 配置tomcat環(huán)境
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.44
ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.44
# 把上面配置的環(huán)境放入到PATH環(huán)境變量中
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

# 容器運行時監(jiān)聽的端口(暴露端口)
EXPOSE 8080

# 啟動時運行tomcat
# ENTRYPOINT ["/usr/local/apache-tomcat-9.0.44/bin/startup.sh"]
# CMD ["/usr/local/apache-tomcat-9.0.44/bin/catalina.sh","run"]
CMD /usr/local/apache-tomcat-9.0.44/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.44/bin/logs/catalina.out
# && 表示拼接下一條命令,可以無線的拼接森爽。

4恨豁、構建鏡像

執(zhí)行命令:docker build -t diytomcat9 .

# 因為我的Dockerfile文件的名字為Dockerfile,所以不用-f指定爬迟。
[root@192 tomcat9]# docker build -t diytomcat9 .
Sending build context to Docker daemon  170.5MB
Step 1/15 : FROM centos
 ---> 300e315adb2f
Step 2/15 : MAINTAINER wukong<wukong6688@126.com>
 ---> Running in 221cc10c9504
Removing intermediate container 221cc10c9504
 ---> 797f5aef897a
Step 3/15 : COPY readme.txt /usr/local/cincontainer.txt
 ---> 6797005a229e
Step 4/15 : ADD apache-tomcat-9.0.44.tar.gz /usr/local/
 ---> f4d05cb84de6
Step 5/15 : ADD jdk-8u11-linux-x64.tar.gz /usr/local/
 ---> 2c18597493ed
Step 6/15 : RUN yum -y install vim
 ---> Running in 7cb17ddf6345
CentOS Linux 8 - AppStream                      2.1 MB/s | 6.3 MB     00:02    
CentOS Linux 8 - BaseOS                         1.9 MB/s | 2.3 MB     00:01    
CentOS Linux 8 - Extras                         9.0 kB/s | 9.2 kB     00:01    
Dependencies resolved.
================================================================================
 Package             Arch        Version                   Repository      Size
================================================================================
Installing:
 vim-enhanced        x86_64      2:8.0.1763-15.el8         appstream      1.4 M
Installing dependencies:
 gpm-libs            x86_64      1.20.7-15.el8             appstream       39 k
 vim-common          x86_64      2:8.0.1763-15.el8         appstream      6.3 M
 vim-filesystem      noarch      2:8.0.1763-15.el8         appstream       48 k
 which               x86_64      2.21-12.el8               baseos          49 k

Transaction Summary
================================================================================
Install  5 Packages

Total download size: 7.8 M
Installed size: 30 M
Downloading Packages:
(1/5): gpm-libs-1.20.7-15.el8.x86_64.rpm        224 kB/s |  39 kB     00:00    
(2/5): vim-filesystem-8.0.1763-15.el8.noarch.rp 328 kB/s |  48 kB     00:00    
(3/5): which-2.21-12.el8.x86_64.rpm             342 kB/s |  49 kB     00:00    
(4/5): vim-enhanced-8.0.1763-15.el8.x86_64.rpm  2.5 MB/s | 1.4 MB     00:00    
(5/5): vim-common-8.0.1763-15.el8.x86_64.rpm    6.0 MB/s | 6.3 MB     00:01    
--------------------------------------------------------------------------------
Total                                           3.7 MB/s | 7.8 MB     00:02     
warning: /var/cache/dnf/appstream-02e86d1c976ab532/packages/gpm-libs-1.20.7-15.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 8483c65d: NOKEY
CentOS Linux 8 - AppStream                      232 kB/s | 1.6 kB     00:00    
Importing GPG key 0x8483C65D:
 Userid     : "CentOS (CentOS Official Signing Key) <security@centos.org>"
 Fingerprint: 99DB 70FA E1D7 CE22 7FB6 4882 05B5 55B3 8483 C65D
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1 
  Installing       : which-2.21-12.el8.x86_64                               1/5 
  Installing       : vim-filesystem-2:8.0.1763-15.el8.noarch                2/5 
  Installing       : vim-common-2:8.0.1763-15.el8.x86_64                    3/5 
  Installing       : gpm-libs-1.20.7-15.el8.x86_64                          4/5 
  Running scriptlet: gpm-libs-1.20.7-15.el8.x86_64                          4/5 
  Installing       : vim-enhanced-2:8.0.1763-15.el8.x86_64                  5/5 
  Running scriptlet: vim-enhanced-2:8.0.1763-15.el8.x86_64                  5/5 
  Running scriptlet: vim-common-2:8.0.1763-15.el8.x86_64                    5/5 
  Verifying        : gpm-libs-1.20.7-15.el8.x86_64                          1/5 
  Verifying        : vim-common-2:8.0.1763-15.el8.x86_64                    2/5 
  Verifying        : vim-enhanced-2:8.0.1763-15.el8.x86_64                  3/5 
  Verifying        : vim-filesystem-2:8.0.1763-15.el8.noarch                4/5 
  Verifying        : which-2.21-12.el8.x86_64                               5/5 

Installed:
  gpm-libs-1.20.7-15.el8.x86_64         vim-common-2:8.0.1763-15.el8.x86_64    
  vim-enhanced-2:8.0.1763-15.el8.x86_64 vim-filesystem-2:8.0.1763-15.el8.noarch
  which-2.21-12.el8.x86_64             

Complete!
Removing intermediate container 7cb17ddf6345
 ---> 1dee8c82dc2c
Step 7/15 : ENV MYPATH /usr/local
 ---> Running in 1d5abe930a75
Removing intermediate container 1d5abe930a75
 ---> 970df33afcc8
Step 8/15 : WORKDIR $MYPATH
 ---> Running in 0580d08c8588
Removing intermediate container 0580d08c8588
 ---> 2e3126bbb258
Step 9/15 : ENV JAVA_HOME /usr/local/jdk1.8.0_11
 ---> Running in 440abce7bbf6
Removing intermediate container 440abce7bbf6
 ---> 075a1599971e
Step 10/15 : ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
 ---> Running in d85b8a9112bb
Removing intermediate container d85b8a9112bb
 ---> 3eb9c75d976f
Step 11/15 : ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.44
 ---> Running in 8de5817880b1
Removing intermediate container 8de5817880b1
 ---> 7be89ad718f3
Step 12/15 : ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.44
 ---> Running in 2ef1b3c43df0
Removing intermediate container 2ef1b3c43df0
 ---> b1f2bb8b9971
Step 13/15 : ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
 ---> Running in c088d27cac3b
Removing intermediate container c088d27cac3b
 ---> e86039cdf1c9
Step 14/15 : EXPOSE 8080
 ---> Running in f541217004bc
Removing intermediate container f541217004bc
 ---> 253c3aa2bbfa
Step 15/15 : CMD /usr/local/apache-tomcat-9.0.44/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.44/bin/logs/catalina.out
 ---> Running in b5ba1a9c9c7f
Removing intermediate container b5ba1a9c9c7f
 ---> 12988584a30e
Successfully built 12988584a30e
Successfully tagged diytomcat9:latest


[root@192 tomcat9]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
diytomcat9   latest    12988584a30e   3 minutes ago   607MB
centos       latest    300e315adb2f   3 months ago    209MB

此時我的diytomcat9鏡像就再宿主機生成橘蜜,該diytomcat9鏡像自身帶有tomcat9的運行時環(huán)境。當我們啟動容器后付呕,該容器就對外提供tomcat服務计福。

5、啟動鏡像

執(zhí)行如下命令凡涩,啟動diytomcat9鏡像棒搜。

docker run -p 9090:8080 \
--name wukongtomcat \
-v /home/mydockerfile/tomcat9/test:/usr/local/apache-tomcat-9.0.44/webapps/test \
-v /home/mydockerfile/tomcat9/tomcatlogs:/usr/local/apache-tomcat-9.0.44/logs \
--privileged=true \
-d diytomcat9

提示:

Docker掛載主機目錄的時候,如果Docker訪問出現(xiàn)cannot open directory.:Permission denied問題活箕。

解決辦法:在掛載目錄后多加一個--privileged=true參數(shù)即可力麸。

演示:

# 查看本地Docker鏡像
[root@192 tomcat9]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
diytomcat9   latest    12988584a30e   3 minutes ago   607MB
centos       latest    300e315adb2f   3 months ago    209MB

# 啟動容器(以后工作中啟動容器的命令要比這還多)
[root@192 tomcat9]# docker run -p 9090:8080 \
> --name wukongtomcat \
> -v /home/mydockerfile/tomcat9/test:/url/local/apache-tomcat-9.0.44/webapps/test \
> -v /home/mydockerfile/tomcat9/tomcatlogs:/url/local/apache-tomcat-9.0.44/logs \
> --privileged=true \
> -d diytomcat9
9d23344e364d80e773a55cf9c507b75a034a1900fdf0c98e27266d99ceb5b06d

# 查看當前正在運行的容器
[root@192 tomcat9]# docker ps
CONTAINER ID   IMAGE        COMMAND                  CREATED          STATUS         PORTS                    NAMES
9d23344e364d   diytomcat9   "/bin/sh -c '/usr/lo…"   11 seconds ago   Up 9 seconds   0.0.0.0:9090->8080/tcp   wukongtomcat

查看宿主機的掛載是否配置成功

[root@192 tomcat9]# pwd
/home/mydockerfile/tomcat9
[root@192 tomcat9]# ll
總用量 166520
-rw-r--r--. 1 root root  11487016 3月  21 00:18 apache-tomcat-9.0.44.tar.gz
-rw-r--r--. 1 root root       643 3月  21 01:46 Dockerfile
-rw-r--r--. 1 root root 159019376 3月  21 00:18 jdk-8u11-linux-x64.tar.gz
-rw-r--r--. 1 root root         0 3月  21 00:39 readme.txt
drwxr-xr-x. 2 root root         6 3月  21 01:58 test # 這里
drwxr-xr-x. 2 root root         6 3月  21 01:58 tomcatlogs # 這里

說明數(shù)據(jù)卷掛載成功。

接下來我們查看宿主機上傳的文件是否存在育韩,還有容器的中的運行環(huán)境克蚂。

# 查看/usr/local/目錄中的內容
# 發(fā)現(xiàn)我們上傳的cincontainer.txt和tomcat、jdk都有筋讨,沒有問題埃叭。
[root@192 tomcat9]# docker exec wukongtomcat ls -l
total 0
drwxr-xr-x. 1 root root  45 Mar 20 17:47 apache-tomcat-9.0.44
drwxr-xr-x. 2 root root   6 Nov  3 15:22 bin
-rw-r--r--. 1 root root   0 Mar 20 16:39 cincontainer.txt
drwxr-xr-x. 2 root root   6 Nov  3 15:22 etc
drwxr-xr-x. 2 root root   6 Nov  3 15:22 games
drwxr-xr-x. 2 root root   6 Nov  3 15:22 include
drwxr-xr-x. 8   10  143 255 Jun 17  2014 jdk1.8.0_11
drwxr-xr-x. 2 root root   6 Nov  3 15:22 lib
drwxr-xr-x. 3 root root  17 Dec  4 17:37 lib64
drwxr-xr-x. 2 root root   6 Nov  3 15:22 libexec
drwxr-xr-x. 2 root root   6 Nov  3 15:22 sbin
drwxr-xr-x. 5 root root  49 Dec  4 17:37 share
drwxr-xr-x. 2 root root   6 Nov  3 15:22 src

# 接下來我們查看一下java的版本
# 說明java的運行時環(huán)境是配置正常的。
[root@192 tomcat9]# docker exec wukongtomcat java -version
java version "1.8.0_11"
Java(TM) SE Runtime Environment (build 1.8.0_11-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode)

# 如果還想進行其他的驗證悉罕,可以自己去執(zhí)行赤屋。

6立镶、驗證容器是否能夠訪問

我們可以使用curl命令進行本地訪問。

也可以使用外部瀏覽器進行訪問类早。

我們在瀏覽器中輸入:http://192.168.134.129:9090/媚媒,看是否能夠查看到Tomcat的歡迎界面。

7涩僻、向容器中部署WEB項目缭召,同時驗證數(shù)據(jù)卷掛載

我們通過容器啟動命令,先來說明一下tomcat9鏡像部署項目的原理逆日。

docker run -p 9090:8080 \
--name wukongtomcat \
-v /home/mydockerfile/tomcat9/test:/usr/local/apache-tomcat-9.0.44/webapps/test \
-v /home/mydockerfile/tomcat9/tomcatlogs:/usr/local/apache-tomcat-9.0.44/logs \
--privileged=true \
-d diytomcat9

說明:

  • 宿主機的/home/mydockerfile/tomcat9/test目錄和容器中/usr/local/apache-tomcat-9.0.44/webapps/test目錄是掛載的嵌巷,也就是這兩個目錄中的內容是同步的论寨。
  • 我們知道在Tomcat中webapps目錄是發(fā)布項目工程的目錄耕赘,所以test目錄相當于一個項目工程。我在宿主機中把項目文件放入test目錄中摊崭,會自動同步到容器中webapps目錄的test目錄中坪圾。這樣我們就可以在宿主機本地噩死,發(fā)布一個項目到容器中了。
  • 同理宿主機的/home/mydockerfile/tomcat9/tomcatlogs目錄和容器中/usr/local/apache-tomcat-9.0.44/logs目錄是掛載的神年,所以容器中Tomcat服務產(chǎn)生的日志,我們在宿主機上都可以查看到行嗤,并且持久化到了宿主機已日。

(1)準備一個簡單的WEB項目

我們創(chuàng)建兩個文件和一個文件夾放入宿主機的/home/mydockerfile/tomcat9/test

他們之間的目錄結構如下:


web.xml文件內容如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                             http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         version="2.5">

</web-app>

index.jsp文件內容如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>hello wukong ,hello docker</title>
  </head>
  <body>
    Hello World!hello docker!
    <br />
    <% System.out.println("-----Congratulations--hello-docker----"); %>
  </body>
</html>

(2)訪問驗證

我們在宿主機/home/mydockerfile/tomcat9/test目錄中創(chuàng)建的文件栅屏,會自動同步到容器中/usr/local/apache-tomcat-9.0.44/webapps/test目錄里飘千。

這時我們可以直接在瀏覽器中訪問http://192.168.134.129:9090/test,查看一下是否能夠訪問成功栈雳。

提示:可以docker restart重啟一下容器护奈。

訪問成功。

我們也可以在宿主機中查看tomcat容器的tomcat服務日志哥纫。

# 查看當前工作目錄
[root@192 tomcatlogs]# pwd
/home/mydockerfile/tomcat9/tomcatlogs

# 查看當前目錄文件
[root@192 tomcatlogs]# ll
總用量 48
-rw-r-----. 1 root root  6286 3月  21 03:47 catalina.2021-03-20.log
-rw-r-----. 1 root root  6289 3月  21 12:23 catalina.2021-03-21.log
-rw-r-----. 1 root root 12631 3月  21 12:48 catalina.out
-rw-r-----. 1 root root     0 3月  21 03:47 host-manager.2021-03-20.log
-rw-r-----. 1 root root     0 3月  21 12:23 host-manager.2021-03-21.log
-rw-r-----. 1 root root   408 3月  21 03:47 localhost.2021-03-20.log
-rw-r-----. 1 root root   408 3月  21 12:23 localhost.2021-03-21.log
-rw-r-----. 1 root root   225 3月  21 03:48 localhost_access_log.2021-03-20.txt
-rw-r-----. 1 root root   225 3月  21 12:48 localhost_access_log.2021-03-21.txt
-rw-r-----. 1 root root     0 3月  21 03:47 manager.2021-03-20.log
-rw-r-----. 1 root root     0 3月  21 12:23 manager.2021-03-21.log

# 查看tomcat日志
[root@192 tomcatlogs]# cat catalina.out
... #省略
-----Congratulations--hello-docker----
-----Congratulations--hello-docker----
-----Congratulations--hello-docker----
-----Congratulations--hello-docker----
[root@192 tomcatlogs]# 

容器是正常運行的霉旗,相關文件都可以查看到,證明我們的tomcat9鏡像配置沒有問題蛀骇。

我們以后開發(fā)的步驟:需要掌握Dokcerfile的編寫厌秒,之后的一切都是使用Docker鏡像來發(fā)布運行!

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末擅憔,一起剝皮案震驚了整個濱河市鸵闪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌暑诸,老刑警劉巖蚌讼,帶你破解...
    沈念sama閱讀 211,817評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件辟灰,死亡現(xiàn)場離奇詭異,居然都是意外死亡篡石,警方通過查閱死者的電腦和手機芥喇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來夏志,“玉大人乃坤,你說我怎么就攤上這事」得铮” “怎么了湿诊?”我有些...
    開封第一講書人閱讀 157,354評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長瘦材。 經(jīng)常有香客問我厅须,道長,這世上最難降的妖魔是什么食棕? 我笑而不...
    開封第一講書人閱讀 56,498評論 1 284
  • 正文 為了忘掉前任朗和,我火速辦了婚禮,結果婚禮上簿晓,老公的妹妹穿的比我還像新娘眶拉。我一直安慰自己,他們只是感情好憔儿,可當我...
    茶點故事閱讀 65,600評論 6 386
  • 文/花漫 我一把揭開白布忆植。 她就那樣靜靜地躺著,像睡著了一般谒臼。 火紅的嫁衣襯著肌膚如雪朝刊。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,829評論 1 290
  • 那天蜈缤,我揣著相機與錄音拾氓,去河邊找鬼。 笑死底哥,一個胖子當著我的面吹牛咙鞍,可吹牛的內容都是我干的。 我是一名探鬼主播趾徽,決...
    沈念sama閱讀 38,979評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼奶陈,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了附较?” 一聲冷哼從身側響起吃粒,我...
    開封第一講書人閱讀 37,722評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎拒课,沒想到半個月后徐勃,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體事示,經(jīng)...
    沈念sama閱讀 44,189評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,519評論 2 327
  • 正文 我和宋清朗相戀三年僻肖,在試婚紗的時候發(fā)現(xiàn)自己被綠了肖爵。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,654評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡臀脏,死狀恐怖劝堪,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情揉稚,我是刑警寧澤秒啦,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站搀玖,受9級特大地震影響余境,放射性物質發(fā)生泄漏。R本人自食惡果不足惜灌诅,卻給世界環(huán)境...
    茶點故事閱讀 39,940評論 3 313
  • 文/蒙蒙 一芳来、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧猜拾,春花似錦即舌、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至宋雏,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間务豺,已是汗流浹背磨总。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留笼沥,地道東北人蚪燕。 一個月前我還...
    沈念sama閱讀 46,382評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像奔浅,于是被迫代替她去往敵國和親馆纳。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,543評論 2 349

推薦閱讀更多精彩內容