docker常规操作

1.概述

(1)docker官网:https://www.docker.com/

仓库地址https://hub.docker.com/

2.安装docker

(1)检查是否有已经安装docker,安装yum工具

[root@localhost ~]# rpm -qa | grep docker

[root@localhost ~]# yum install -y yum-utils

设置镜像仓库

[root@localhost ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新yum软件包索引

yum makecache fast

安装docker

yum install docker-ce docker-ce-cli containerd.io

启动docker

systemctl start docker

查看版本

docker version

(2)启动一个容器

[root@localhost yum.repos.d]# docker run hello-world

Unable to find image 'hello-world:latest' locally

latest: Pulling from library/hello-world

2db29710123e: Pull complete

Digest: sha256:cc15c5b292d8525effc0f89cb299f1804f3a725c8d05e158653a563f15e4f685

Status: Downloaded newer image for hello-world:latest

Hello from Docker!

This message shows that your installation appears to be working correctly.

(3)查看下载的镜像

[root@localhost yum.repos.d]# docker images

REPOSITORY    TAG       IMAGE ID       CREATED        SIZE

hello-world   latest    feb5d9fea6a5   2 months ago   13.3kB

2.镜像加速

[root@localhost docker]# sudo tee /etc/docker/daemon.json <<-'EOF'

> {

>   "registry-mirrors": ["https://4q9hlak8.mirror.aliyuncs.com"]

> }

> EOF

[root@localhost docker]# systemctl daemon-reload

[root@localhost docker]# systemctl restart docker

3.docker常用命令

a.查看镜像

[root@localhost ~]# docker images

REPOSITORY    TAG       IMAGE ID       CREATED        SIZE

hello-world   latest    feb5d9fea6a5   2 months ago   13.3kB

搜索镜像

[root@localhost ~]# docker search redis

NAME                             DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED

redis                            Redis is an open source key-value store that…   10277     [OK]

sameersbn/redis                                                                  83                   [OK]

grokzen/redis-cluster            Redis cluster 3.0, 3.2, 4.0, 5.0, 6.0, 6.2      80

rediscommander/redis-commander   Alpine image for redis-commander - Redis man…   71                   [OK]

拉取最新版本镜像

[root@localhost ~]# docker pull mysql

拉取指定版本镜像

[root@localhost ~]# docker pull mysql:5.7

删除镜像

[root@localhost ~]# docker rmi -f centos

交互式进入容器,退出容器容器就关闭了

[root@localhost ~]# docker run  -it centos

[root@43670455796f /]#

查看启动的容器

[root@localhost ~]# docker ps

CONTAINER ID   IMAGE     COMMAND       CREATED         STATUS         PORTS     NAMES

a18a8feedaf3   centos    "/bin/bash"   6 seconds ago   Up 4 seconds             reverent_kare

查看所有容器,正在启动的和已经停止的

[root@localhost ~]# docker ps -a

CONTAINER ID   IMAGE         COMMAND                  CREATED              STATUS                         PORTS     NAMES

a18a8feedaf3   centos        "/bin/bash"              About a minute ago   Up About a minute                        reverent_kare

43670455796f   centos        "/bin/bash"              2 minutes ago        Exited (0) 2 minutes ago                 youthful_golick

52c44c3034c5   centos        "/bin/bash"              3 minutes ago        Exited (0) 3 minutes ago                 peaceful_kapitsa

922c02bc7641   centos        "/bin/bash"              3 minutes ago        Exited (0) 3 minutes ago                 zealous_almeida

224b540aaa7e   mysql         "docker-entrypoint.s…"   5 minutes ago        Exited (1) 5 minutes ago                 focused_cray

4a1b9abf49cd   hello-world   "/hello"                 About an hour ago    Exited (0) About an hour ago             heuristic_shamir

查看所有容器的编号

[root@localhost ~]# docker ps -aq

a18a8feedaf3

43670455796f

52c44c3034c5

922c02bc7641

224b540aaa7e

4a1b9abf49cd

删除容器,只能删除未启动的容器

[root@localhost ~]# docker rm 52c44c3034c5

52c44c3034c5

启动停止的容器

[root@localhost ~]# docker start 43670455796f

43670455796f

启动centos的一个容器

[root@localhost ~]# docker run -d centos  /bin/bash

81816f5d03cfb88dac21efc220f0a1ce29fccc43d6b2a06896903daa0bac7f31

查看没有正在运行的容器

[root@localhost ~]# docker ps

CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

启动容器后,执行一个运行的命令,才能使容器正常运行

[root@localhost ~]# docker run -d centos  /bin/bash -c "while true;do echo kuangshen;sleep 1; done"

5fcb0b52b14cbf3305c0c7ccdb3374f20739a4a2d484064d92a37ed2d77a95d9

[root@localhost ~]#

查看容器中进程信息

[root@localhost ~]# docker top 5fcb0b52b14c

查看镜像的元数据

[root@localhost ~]# docker inspect 5fcb0b52b14c

进入容器

[root@localhost ~]# docker exec -it 5fcb0b52b14c /bin/bash

[root@5fcb0b52b14c /]#

从容器拷贝文件到宿主机

[root@localhost ~]# docker cp 5fcb0b52b14c:/test.txt /root/

通过当前容器生成一个镜像

[root@localhost ~]# docker commit -m="wodejingixang" -a='zss' 5fcb0b52b14c centos:zss11

sha256:3694e132e30f118a410f46b3163234c2d7b5d87c1a3d083cc1772a6ee3bf8b89

4.数据卷

(1)通过命令直接挂载,主机数据和容器数据互相同步

[root@localhost ~]# docker run -it -v /home/ceshi:/home centos /bin/bash

[if !supportLists](2)[endif]启动一个mysql容器

[root@localhost ~]# docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data/:/bar/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7

6a3fa55aa813af0d12f351d68e947a467033df258c768884912730726256be5f

(3)匿名挂载,只指定容器的目录

[root@localhost ~]# docker run -d -P --name nginx01 -v /etc/nginx nginx

[root@localhost ~]# docker volume ls

DRIVER    VOLUME NAME

local     7941953ceadc743eaa237b990d46ae56e2a14aceaa15b5d477c2010f1864ccf5

local     d5ca6059960b989fa290db3e51119e1caf876991390dff6b34f9457958224e57

local     e947d3c189dd8236845233c3b42786298f82490327c2b2df39a7e0993d47d2aa

local     f29dc23e945fd06d50860642a7dfaf89f94a67763fe861b469ecda9b7f9c0f58

[if !supportLists](3)[endif]具名挂载,给容器内挂在的卷一个名字

[root@localhost _data]# docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx nginx

5e711594038da1350611573fc809d92fbc55b170b432e99d9e7a7ab3276dced5

[root@localhost _data]# docker volume ls

DRIVER    VOLUME NAME

local     7941953ceadc743eaa237b990d46ae56e2a14aceaa15b5d477c2010f1864ccf5

local     d5ca6059960b989fa290db3e51119e1caf876991390dff6b34f9457958224e57

local     e947d3c189dd8236845233c3b42786298f82490327c2b2df39a7e0993d47d2aa

local     f29dc23e945fd06d50860642a7dfaf89f94a67763fe861b469ecda9b7f9c0f58

local     juming-nginx

(4)设置容器内目录,在容器内只读,只能在宿主机内可以读写

[root@localhost /]# docker run -d -P --name nginx03 -v juming-nginx03:/etc/nginx:ro nginx

4362e22a069e21cb262f1a40b97b16d196d98c9afc48bbef1783bb67a83f334d

5.dockerfile

(1)创建一个镜像

a.创建dockerfile文件

[root@localhost docker]# cat dockerfile

FROM centos

VOLUME ["volume01","volume02"]

CMD echo "----end---"

CMD /bin/bash

b.创建镜像

[root@localhost docker]# docker build -f  /docker/dockerfile -t kuangshen/centos:1.0 .

Sending build context to Docker daemon  2.048kB

Step 1/4 : FROM centos

---> 5d0da3dc9764

Step 2/4 : VOLUME ["volume01","volume02"]

---> Running in 112f3903cfc0

Removing intermediate container 112f3903cfc0

---> 6eef3fbff990

Step 3/4 : CMD echo "----end---"

---> Running in db09822d0987

Removing intermediate container db09822d0987

---> b8f7c584c041

Step 4/4 : CMD /bin/bash

---> Running in 127aedae2c89

Removing intermediate container 127aedae2c89

---> 785db3faa532

Successfully built 785db3faa532

Successfully tagged kuangshen/centos:1.0

c.查看镜像

[root@localhost ~]# docker  images

REPOSITORY            TAG       IMAGE ID       CREATED          SIZE

kuangshen/centos      1.0       785db3faa532   5 minutes ago    231MB

centos                3.0       785db3faa532   5 minutes ago    231MB

centos                zss11     3694e132e30f   47 minutes ago   231MB

tomcat                latest    24207ccc9cce   6 days ago       680MB

[if !supportLists](2)[endif]再通过dockerfile构建一个镜像

[if !supportLists]a. [endif]dockerfile如下

[root@localhost docker]# cat dockerfile1

FROM centos

MAINTAINER kuangshen<11212.qq.com>


#ENV MYPATN /usr/local

#WORKDIR $MYPATH


RUN yum -y install vim

RUN yum -y install net-tools


EXPOSE 80


#CMD echo $MYPATH

CMD echo "--end----"

CMD /bin/bash

b.执行创建命令

[root@localhost docker]# docker build -f dockerfile1 -t centoszss5:2.0 .

Step 7/7 : CMD /bin/bash

 ---> Running in 14b36d913ea3

Removing intermediate container 14b36d913ea3

 ---> c1be04b32731

Successfully built c1be04b32731

Successfully tagged centoszss5:2.0

c.查看镜像

[root@localhost docker]# docker images

REPOSITORY            TAG       IMAGE ID       CREATED         SIZE

centoszss5            2.0       c1be04b32731   4 minutes ago   322MB

d.使用自己生成的镜像启动容器,已经有vim命令

[root@localhost docker]# docker run  -it centoszss5:2.0

[root@5a97a37b6b22 /]# vi

vi        view      vigr      vim       vimdiff   vimtutor  vipw

e.使用原始镜像启动容器,没有vim命令

[root@localhost ~]# docker run -it centos

[root@6f4a04ee0613 /]# vim

bash: vim: command not found

f.查看镜像变更过程

[root@localhost docker]# docker history centoszss5:2.0

IMAGE          CREATED          CREATED BY                                      SIZE      COMMENT

c1be04b32731   9 minutes ago    /bin/sh -c #(nop)  CMD ["/bin/sh" "-c" "/bin…   0B

9cacb36695f3   9 minutes ago    /bin/sh -c #(nop)  CMD ["/bin/sh" "-c" "echo…   0B

a423666676d8   9 minutes ago    /bin/sh -c #(nop)  EXPOSE 80                    0B

1a2ef029a997   9 minutes ago    /bin/sh -c yum -y install net-tools             27MB

18030e069303   9 minutes ago    /bin/sh -c yum -y install vim                   64.1MB

fc1a1ff71c13   12 minutes ago   /bin/sh -c #(nop)  MAINTAINER kuangshen<1121…   0B

5d0da3dc9764   3 months ago     /bin/sh -c #(nop)  CMD ["/bin/bash"]            0B

<missing>      3 months ago     /bin/sh -c #(nop)  LABEL org.label-schema.sc…   0B

<missing>      3 months ago     /bin/sh -c #(nop) ADD file:805cb5e15fb6e0bb0…   231MB


(3)生成一个tomcat镜像

a.dockerfile如下

[root@localhost docker]# cat tomcatdockerfile

FROM centos

MAINTAINER kuangshen<11212.qq.com>


ADD  jdk-8u311-linux-x64.tar.gz /usr/local/

ADD  apache-tomcat-9.0.22.tar.gz /usr/local/


RUN yum -y install vim


ENV MYPATH /usr/local/

WORKDIR $MYPATH


ENV JAVA_HOME /usr/local/jdk1.8.0_311

ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.22

ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.22

ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin


CMD /usr/local/apache-tomcat-9.0.22/bin/startup.sh

CMD tail -f   /var/log/btmp

[if !supportLists]b. [endif]创建镜像

[root@localhost docker]# docker build -f tomcatdockerfile  -t tomcatzss:3.0 .

Removing intermediate container edb56713f6ee

 ---> d0278c8b43e2

Successfully built d0278c8b43e2

Successfully tagged tomcatzss:3.0

c.查看镜像

[root@localhost docker]# docker images

REPOSITORY            TAG       IMAGE ID       CREATED             SIZE

tomcatzss             3.0       d0278c8b43e2   7 seconds ago       676MB

d.运行容器

[root@localhost docker]# docker run -it -d tomcatzss:3.0

6.数据卷容器

创建2个容器实现数据卷共享

[root@localhost docker]# docker run -d -p 3320:3306 -v /etc/mysql/conf.d -v /var/lib/mysql -e  MYSQL_ROOT_PASSWORD=123456 --name mysql02 mysql:5.7

0fbdab503dbdb1656275b43f001fe4968b3d02607a80360808b1f0f3587150de

[root@localhost docker]# docker run -d -p 3330:3306  -e  MYSQL_ROOT_PASSWORD=123456 --name mysql04 --volumes-from mysql02  mysql:5.7

fdf04c4f44a69737144fc65c116f5305233b3adbbf21ffd446a153527bd54dd1

7.镜像仓库中所有镜像版本查看

参考链接:https://www.cnblogs.com/qa-freeroad/p/14450386.html

https://www.cnblogs.com/qa-freeroad/p/13563013.html

(1)安装python3.6

yum install python36 -y

yum install python36-devel -y

python3-V

(2)安装pip

yum install python36-pip -y

pip3 -V

(3)命令行查看镜像仓库中某个镜像都有哪些版本

curl https://registry.hub.docker.com/v1/repositories/${docker_img}/tags | python3 -m json.tool | more


8.容器内安装命令

apt update

apt install -y iproute2

apt install iputils-ping

9.网络相关命令

(1)link,一个容器可以ping另一个容器的name

(2)实操link

a.[root@localhost ~]# docker exec -it tomcat4 ping tocmcat3

ping: tocmcat3: Name or service not known

[root@localhost ~]# docker run -d -P --name tomcat5 --link tomcat4 tomcatzss:1.0

c82b18cdf4237336345956227419e0818a9cfb10a8ce2b8f92220d104df8b785

[root@localhost ~]# docker exec -it tomcat5 ping tomcat4

PING tomcat4 (172.17.0.5) 56(84) bytes of data.

64 bytes from tomcat4 (172.17.0.5): icmp_seq=1 ttl=64 time=0.505 ms

b.link的本质,在hosts中增加了解析

[root@localhost ~]# docker exec -it tomcat5 cat /etc/hosts

127.0.0.1       localhost

::1     localhost ip6-localhost ip6-loopback

fe00::0 ip6-localnet

ff00::0 ip6-mcastprefix

ff02::1 ip6-allnodes

ff02::2 ip6-allrouters

172.17.0.5      tomcat4 9a356af00866

172.17.0.6      c82b18cdf423

c.查看当前网络

[root@localhost ~]# docker network ls

NETWORK ID     NAME      DRIVER    SCOPE

02e562a54700   bridge    bridge    local

752264caac7a   host      host      local

7fc4b2a46f7c   none      null      local

d.创建一个自定义网络

[root@localhost ~]# docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet

e5e23ceec16d7aea3d3053c4a5aa992791f6d8bd3d7aa9e66b181931feabef29

[root@localhost ~]# docker network ls

NETWORK ID     NAME      DRIVER    SCOPE

02e562a54700   bridge    bridge    local

752264caac7a   host      host      local

e5e23ceec16d   mynet     bridge    local

7fc4b2a46f7c   none      null      local

c.通过自定义网络创建容器

[root@localhost ~]# docker run -d -P --name tomcat--mynet --net mynet tomcatzss:1.0

2bb33a4f838f8819cfac3e5dd2a1f52dd119a143d4bbbbeb05e23b815822eed4

[root@localhost ~]# docker run -d -P --name tomcat--mynet1 --net mynet tomcatzss:1.0

e6dfeb9e95af43dd17a55af3d550ab88a05de08b66b52bf687da206901cdc8ba

[root@localhost ~]# docker exec -it e6dfeb9e95af ping tomcat--mynet

PING tomcat--mynet (192.168.0.2) 56(84) bytes of data.

64 bytes from tomcat--mynet.mynet (192.168.0.2): icmp_seq=1 ttl=64 time=0.275 ms

d.网络联通(将A网络的容器加入到B网络)

[root@localhost ~]# docker network connect  mynet tomcat01

10.redis集群部署实战

a.写一个脚本,准备6个docker挂载的目录

[root@localhost docker]# cat redis.sh

#/bin/bash

for port in $(seq 1 6)

do

mkdir -p /mydata/redis/node-${port}/conf

touch /mydata/redis/node-${port}/conf/redis.conf

cat > /mydata/redis/node-${port}/conf/redis.conf << EOF

port 6379

bind 0.0.0.0

cluster-enabled yes

cluster-config-file nodes.conf

cluster-node-timeout 5000

cluster-announce-ip 172.38.0.1${port}

cluster-announce-port 6379

appendonly yes

EOF

done

b.准备容器创建脚本

[root@localhost docker]# cat redis-rongqi.sh

#/bin/bash

for port  in $(seq 1 6)

do

docker run -p 637${port} -p 1637${port}:16379 --name redis-${port} -v /mydata/redis/node-${port}/data:/data  -v /mydata/redis/node-${port}/conf/redis.conf:/etc/redis/redis.conf -d --net redis --ip 172.38.0.1${port} redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf

done

c.进入redis容器,创建集群

/data # redis-cli --cluster create 172.38.0.11:6379 172.38.0.12:6379 172.38.0.13:6379 172.38.0.14:6379 172.38

.0.15:6379 172.38.0.16:6379 --cluster-replicas 1

>>> Performing hash slots allocation on 6 nodes...

Master[0] -> Slots 0 - 5460

Master[1] -> Slots 5461 - 10922

Master[2] -> Slots 10923 - 16383

Adding replica 172.38.0.15:6379 to 172.38.0.11:6379

Adding replica 172.38.0.16:6379 to 172.38.0.12:6379

Adding replica 172.38.0.14:6379 to 172.38.0.13:6379

M: 9d7456de5d339019f61a871f117fa527f6d7ddd2 172.38.0.11:6379

slots:[0-5460] (5461 slots) master

M: 1902a1a872a462847e80152b8a28df57f92108a3 172.38.0.12:6379

slots:[5461-10922] (5462 slots) master

M: 48fbf97aaa206f7e6c71a10918891ea8be96cf35 172.38.0.13:6379

slots:[10923-16383] (5461 slots) master

S: f5fc035a60177085dd6d878811f0ec71557321bd 172.38.0.14:6379

replicates 48fbf97aaa206f7e6c71a10918891ea8be96cf35

S: b1523ddce48fdbdc93299f9b626032805f748cb5 172.38.0.15:6379

replicates 9d7456de5d339019f61a871f117fa527f6d7ddd2

S: e04a1d1a2219d0cac0f21abb2db7a05bd9457117 172.38.0.16:6379

replicates 1902a1a872a462847e80152b8a28df57f92108a3

Can I set the above configuration? (type 'yes' to accept): yes

>>> Nodes configuration updated

>>> Assign a different config epoch to each node

>>> Sending CLUSTER MEET messages to join the cluster

Waiting for the cluster to join

....

>>> Performing Cluster Check (using node 172.38.0.11:6379)

M: 9d7456de5d339019f61a871f117fa527f6d7ddd2 172.38.0.11:6379

slots:[0-5460] (5461 slots) master

1 additional replica(s)

S: e04a1d1a2219d0cac0f21abb2db7a05bd9457117 172.38.0.16:6379

slots: (0 slots) slave

replicates 1902a1a872a462847e80152b8a28df57f92108a3

S: b1523ddce48fdbdc93299f9b626032805f748cb5 172.38.0.15:6379

slots: (0 slots) slave

replicates 9d7456de5d339019f61a871f117fa527f6d7ddd2

S: f5fc035a60177085dd6d878811f0ec71557321bd 172.38.0.14:6379

slots: (0 slots) slave

replicates 48fbf97aaa206f7e6c71a10918891ea8be96cf35

M: 48fbf97aaa206f7e6c71a10918891ea8be96cf35 172.38.0.13:6379

slots:[10923-16383] (5461 slots) master

1 additional replica(s)

M: 1902a1a872a462847e80152b8a28df57f92108a3 172.38.0.12:6379

slots:[5461-10922] (5462 slots) master

1 additional replica(s)

[OK] All nodes agree about slots configuration.

>>> Check for open slots...

>>> Check slots coverage...

[OK] All 16384 slots covered.

d.查看集群信息

127.0.0.1:6379> CLUSTER info

cluster_state:ok

cluster_slots_assigned:16384

cluster_slots_ok:16384

cluster_slots_pfail:0

cluster_slots_fail:0

cluster_known_nodes:6

cluster_size:3

cluster_current_epoch:6

cluster_my_epoch:2

cluster_stats_messages_ping_sent:195

cluster_stats_messages_pong_sent:203

cluster_stats_messages_meet_sent:4

cluster_stats_messages_sent:402

cluster_stats_messages_ping_received:201

cluster_stats_messages_pong_received:199

cluster_stats_messages_meet_received:2

cluster_stats_messages_received:402

127.0.0.1:6379> CLUSTER NODES

f5fc035a60177085dd6d878811f0ec71557321bd 172.38.0.14:6379@16379 slave 48fbf97aaa206f7e6c71a10918891ea8be96cf35 0 1639723274617 4 connected

b1523ddce48fdbdc93299f9b626032805f748cb5 172.38.0.15:6379@16379 slave 9d7456de5d339019f61a871f117fa527f6d7ddd2 0 1639723272614 5 connected

e04a1d1a2219d0cac0f21abb2db7a05bd9457117 172.38.0.16:6379@16379 myself,slave 1902a1a872a462847e80152b8a28df57f92108a3 0 1639723273000 6 connected

48fbf97aaa206f7e6c71a10918891ea8be96cf35 172.38.0.13:6379@16379 master - 0 1639723273615 3 connected 10923-16383

9d7456de5d339019f61a871f117fa527f6d7ddd2 172.38.0.11:6379@16379 master - 0 1639723274000 1 connected 0-5460

1902a1a872a462847e80152b8a28df57f92108a3 172.38.0.12:6379@16379 master - 0 1639723272513 2 connected 5461-10922

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

推荐阅读更多精彩内容