02-docker运维-02-docker命令总结

@[toc]

1.镜像管理

1.1 镜像仓库

1.1.1 login

  • 作用:登陆镜像仓库

  • 语法

# docker login | loginout [-u xxx -p 密码 ]

默认Docker Hub

1.1.2 pull

  • 作用:拉取镜像

  • 语法

# docker pull 镜像名[:标签]
  • 参数:

-a 拉取所有tagged镜像

--disable-content-trust,忽略镜像校验,默认校验

  • 示例:

下载java最新镜像

# docker pull java

下载java所有镜像

# docker pull -a java

1.1.3 push

  • 作用:上传镜像

  • 语法

# docker push 参数 镜像名:[标签]
  • 参数

--disable-content-trust,忽略镜像校验,默认校验

  • 示例
# docker push myapache:v1

1.1.4 search

  • 作用:查找镜像

  • 语法

# docker search 服务名
  • 参数:

--automated:只列出自动化安装的镜像

--no-trunc:显示完整镜像描述

-s:列出收藏数不小于某值的镜像

  • 示例:
# docker search -s 10 java

1.2 本地镜像操作

1.2.1 image

  • 作用:列出本地镜像
  • 语法:
# docker images
  • 参数

-a,列出本地所有镜像(不加过滤掉中间层镜像)
-f,显示满足条件的镜像
--format,指定返回值的模板文件
-q,只显示镜像ID

  • 示例
# docker images # docker images httpd

1.2.2 rmi

  • 作用:删除镜像
  • 语法:
# docker rmi 镜像名:标记
# docker rmi 唯一标识(不用写全)
  • 参数

-f ,强制删除
--no-prune,不移除该镜像的过程镜像

  • 示例:
# docker rmi -f runoob/ubantu:v4

1.2.3 tag

  • 作用:修改镜像名

  • 语法:

# docker tag 原名:标记 新名:标记

1.2.4 build

  • 作用:使用Dockerfile创建镜像

  • 语法:

# doker build 参数 路径|url
  • 参数:

--build-arg=[] :设置镜像创建时的变量;

--cpu-shares :设置 cpu 使用权重;

--cpu-period :限制 CPU CFS周期;

--cpu-quota :限制 CPU CFS配额;--cpuset-cpus :指定使用的CPU id;

--cpuset-mems :指定使用的内存 id;

--disable-content-trust :忽略校验,默认开启;

-f :指定要使用的Dockerfile路径;

--force-rm :设置镜像过程中删除中间容器;

--isolation :使用容器隔离技术;

--label=[] :设置镜像使用的元数据;

-m :设置内存最大值;

--memory-swap :设置Swap的最大值为内存+swap,"-1"表示不限swap;

--no-cache :创建镜像的过程不使用缓存;

--pull :尝试去更新镜像的新版本;

-q :安静模式,成功后只输出镜像ID;

--rm :设置镜像成功后删除中间容器;

--shm-size :设置/dev/shm的大小,默认值是64M;

--ulimit :Ulimit配置。

  • 示例
# docker build -t tomcat:v1 -f tomcat-Dokcerfile .

1.2.5 save 和 load

  • 作用:

save:将指定镜像加载到文件

load:从文件中加载镜像

  • 语法:
# docker save -o 文件名 镜像名
# docker load -i 文件名
  • 示例
# docker save -o tomcat.tar.gz  docker.io/tomcat 
# docker load -i tomcat.tar.gz 

1.2.6 export 和 inport

  • 作用:

export:将容器保存为tar文件

import:将export的tar文件导入为镜像

2)语法

# docker export -o 指定文件名 容器名
# docker import 文件名 要导出的镜像名
  • 示例:
# docker export -o /tmp/nginx.tar 59eabc2614ef 
# docker import nginx.tar nginx:v01

1.2.7 history

  • 作用:查看指定镜像的创建历史
  • 语法:
# docker history 参数 镜像名
  • 参数:

-H :以可读的格式打印镜像大小和日期,默认为true;

--no-trunc :显示完整的提交记录;

-q :仅列出提交记录ID。

2. 容器管理

2.1 生命周期管理

2.1.2 run

  • 语法
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
  • 参数
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-P: 随机端口映射,容器内部端口随机映射到主机的高端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name="nginx-lb": 为容器指定一个名称;
--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
-h "mars": 指定容器的hostname;
-e username="ritchie": 设置环境变量;
--env-file=[]: 从指定文件读入环境变量;
--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
-m :设置容器使用内存最大值;
--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
--link=[]: 添加链接到另一个容器;
--expose=[]: 开放一个端口或一组端口;
--volume , -v: 绑定一个卷
  • --link=[ ]
    1)创建一个mysql-server 容器
docker run --name=mysql_server -d -P mysql_server

2)创建一个客户端,用 --link 链接server

docker run --name=mysql_client1 --link=mysql_server:db -t -i mysql_client /usr/bin/mysql -h db -u root -pletmein 

说明:将mysql_server定义为db,在后边命令里使用(-h db )

  • 简单示例

docker run --name mynginx -d nginx:latest

docker run -P -d nginx:latest

docker run -p 80:80 -v /data:/data -d nginx:latest

#绑定容器的 8080 端口,并将其映射到本地主机 127.0.0.1 的 80 端口上。
docker run -p 127.0.0.1:80:8080/tcp ubuntu bash

docker run -it nginx:latest /bin/bash 
  • 执行一个循环保证容器启动
docker run -d centos /bin/sh -c "while true; do echo hello world; sleep 1;done"

2.1.3 start/stop/restart

2.1.4 kill

docker kill [OPTIONS] CONTAINER [CONTAINER...]
docker kill -s KILL mynginx

2.1.5 rm

  • 语法
docker rm [OPTIONS] CONTAINER [CONTAINER...]
OPTIONS说明:
  • 参数
-f :通过 SIGKILL 信号强制删除一个运行中的容器。
-l :移除容器间的网络连接,而非容器本身。
-v :删除与容器关联的卷。
  • 实例
# 强制删除容器 db01、db02:
docker rm -f db01 db02

#移除容器 nginx01 对容器 db01 的连接,连接名 db:
docker rm -l db  nginx01

#删除容器 nginx01, 并删除容器挂载的数据卷:
docker rm -v nginx01

#删除所有已经停止的容器:
docker rm $(docker ps -a -q)

2.1.6 pause/unpause

  • 作用
    docker pause :暂停容器中所有的进程。
    docker unpause :恢复容器中所有的进程。

  • 语法

docker pause [OPTIONS] CONTAINER [CONTAINER...]
docker unpause [OPTIONS] CONTAINER [CONTAINER...]
  • 实例
#暂停数据库容器db01提供服务。
docker pause db01

#恢复数据库容器db01提供服务。
docker unpause db01

2.1.7 create

  • 作用
    docker create :创建一个新的容器但不启动它
    用法同 docker run

  • 语法

docker create [OPTIONS] IMAGE [COMMAND] [ARG...]
  • 参数
    同run

  • 实例
    使用docker镜像nginx:latest创建一个容器,并将容器命名为myrunoob

docker create  --name myrunoob  nginx:latest 

2.1.8 exec

  • 语法
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
  • 参数
-d :分离模式: 在后台运行
-i :即使没有附加也保持STDIN 打开
-t :分配一个伪终端
  • 实例
#在容器 mynginx 中以交互模式执行容器内 /root/runoob.sh 脚本:
docker exec -it mynginx /bin/sh /root/runoob.sh
#在容器 mynginx 中开启一个交互模式的终端:
docker exec -i -t  mynginx /bin/bash

2.2 容器操作

2.2.1 ps

  • 语法
docker ps [OPTIONS]
  • OPTIONS
-a :显示所有的容器,包括未运行的。

-f :根据条件过滤显示的内容。

--format :指定返回值的模板文件。

-l :显示最近创建的容器。

-n :列出最近创建的n个容器。

--no-trunc :不截断输出。

-q :静默模式,只显示容器编号。

-s :显示总的文件大小。
  • 容器的7种状态
created(已创建)
restarting(重启中)
running(运行中)
removing(迁移中)
paused(暂停)
exited(停止)
dead(死亡)
  • 示例
    列出最近创建的5个容器信息。
runoob@runoob:~$ docker ps -n 5
CONTAINER ID        IMAGE               COMMAND                   CREATED           
09b93464c2f7        nginx:latest        "nginx -g 'daemon off"    2 days ago   ...     
b8573233d675        nginx:latest        "/bin/bash"               2 days ago   ...     
b1a0703e41e7        nginx:latest        "nginx -g 'daemon off"    2 days ago   ...    
f46fb1dec520        5c6e1090e771        "/bin/sh -c 'set -x \t"   2 days ago   ...   
a63b4a5597de        860c279d2fec        "bash"                    2 days ago   ...

列出所有创建的容器ID。

runoob@runoob:~$ docker ps -a -q
09b93464c2f7
b8573233d675
b1a0703e41e7
f46fb1dec520
a63b4a5597de
6a4aa42e947b
...

2.2.2 stats

  • 语法
docker stats [OPTIONS] [CONTAINER...]
  • 选项
    --all, -a

    --no-stream 只显示第一次取到的数据,默认一直显示

  • 常用显示

[root@das-meeting-16 kong]# docker stats --no-stream
CONTAINER ID   NAME      CPU %    MEM USAGE / LIMIT    MEM %    NET I/O         BLOCK I/O        PIDS
e3b762d3fd0a kong_kong_1 0.24%    416.2MiB / 15.5GiB   2.62%  729kB / 767kB    1.36MB / 49.2kB     9
  • 格式化输出
docker stats --no-stream --format \
"table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}"

所有占位符如下:

.Container 根据用户指定的名称显示容器的名称或 ID。
.Name 容器名称。
.ID 容器 ID。
.CPUPerc CPU 使用率。
.MemUsage 内存使用量。
.NetIO 网络 I/O。
.BlockIO 磁盘 I/O。
.MemPerc 内存使用率。
.PIDs PID 号。

2.2.3 inspect

2.2.3.1 基本使用

  • 作用
    获取容器/镜像的元数据。

  • 语法

docker inspect [OPTIONS] NAME|ID [NAME|ID...]
  • OPTIONS说明:
-f :查看容器某一项的信息
-s :显示总的文件大小。
--type :为指定类型返回JSON。
  • 示例1
[root@das-meeting-16 ~]# docker inspect iot-apigw
[
    {
        "Id": "fae8a91beb0a5cf7008bd7507b2037c463775848c6cf8e8eb4406e99c3ecaf89",
        "Created": "2020-04-17T09:45:47.830765333Z",
        "Path": "/svc.apigw",
        "Args": [],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 120119,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2020-05-06T12:43:10.370184639Z",
            "FinishedAt": "2020-05-06T12:42:53.282001566Z"
        },
        "Image": "sha256:32aa9934fae627c8bbfe1dc1218f52b19476ff9a66b29514e45d471ab554d781",
        "ResolvConfPath": "/data/docker/containers/fae8a91beb0a5cf7008bd7507b2037c463775848c6cf8e8eb4406e99c3ecaf89/resolv.conf",
        "HostnamePath": "/data/docker/containers/fae8a91beb0a5cf7008bd7507b2037c463775848c6cf8e8eb4406e99c3ecaf89/hostname",
        "HostsPath": "/data/docker/containers/fae8a91beb0a5cf7008bd7507b2037c463775848c6cf8e8eb4406e99c3ecaf89/hosts",
        "LogPath": "/data/docker/containers/fae8a91beb0a5cf7008bd7507b2037c463775848c6cf8e8eb4406e99c3ecaf89/fae8a91beb0a5cf7008bd7507b2037c463775848c6cf8e8eb4406e99c3ecaf89-json.log",
        "Name": "/iot-apigw",
        "RestartCount": 0,
        "Driver": "overlay2",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": [
                "/data/dast/iot/prd.conf:/prd.conf:rw",
                "/data/dast/iot/logs:/logs:rw",
                "/data/dast/iot/keys:/etc/iot:rw",
                "/data/dast/iot/svc.apigw.prd.conf:/svc.apigw.prd.conf:rw",
                "/etc/localtime:/etc/localtime:rw"
            ],

如上,可以输出容器的各种信息包括:

docker-compose.yaml中定义的所有信息,甚至hots、hostname文件在宿主机中的位置

2.2.3.2 查看容器某一项信息

  • 查看某一项信息:

[root@das-meeting-16 ~]# docker inspect -f {{.Id}} iot-apigw
fae8a91beb0a5cf7008bd7507b2037c463775848c6cf8e8eb4406e99c3ecaf89

[root@das-meeting-16 ~]# docker inspect -f {{.Config.Hostname}} iot-apigw
fae8a91beb0a
  • key在某个范围查找
[root@das-meeting-16 ~]# docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' iot-apigw
172.23.0.3

上图range 表示在这个范围查找,后边的key,注意最后要有{{end}}

2.2.4 top

[root@das-meeting-16 ~]# docker top iot-apigw
UID     PID     PPID        C   STIME       TTY     TIME            CMD
root    120119  120088      0   5月06        ?       01:16:06    /svc.apigw

2.2.5 attach

连接到容器中,注意加上 --sig-proxy=false,否则ctrl+c 退出时,容器有可能stop

docker attach --sig-proxy=false iot-apigw

2.2.6 events

  • 查看容器事件
  • 语法
docker events [OPTIONS]
  • OPTIONS说明:
-f :根据条件过滤事件;
--since :从指定的时间戳后显示所有事件;
--until :流水时间显示到指定的时间为止;
  • 示例
[root@das-b4 ~]# docker events  --since="1591590435"
2020-06-08T09:57:36.127905035-04:00 container attach 31a5c5ef33d44b628fe2a308362830d2401a2e3436d80df8ca695a7df626ee0e (com.docker.compose.config-hash=f0348a267d54724ef74619dc2d6ca603b860cdb1a783622d505085cc608201f4, com.docker.compose.container-number=1, com.docker.compose.oneoff=False, com.docker.compose.project=iot, com.docker.compose.service=apigw, com.docker.compose.version=1.24.0, image=iot/svc.apigw:1.1.1, maintainer=Hongjun Du<duhongjun@boe.com.cn>, name=iot-apigw)

[root@das-b4 ~]# docker events  --since="1588926435" -f "image"="mysql:5.7"
2020-05-09T06:02:57.006139509-04:00 container start eb2044574d569e97532fd0df03e4667b1c59eef1ce750fae9206db882b773d96 (com.docker.compose.config-hash=fde3194713b144a0f2f02a45390a139a6a5602f4eb449c28ef006bcfa0b9096d, com.docker.compose.container-number=1, com.docker.compose.oneoff=False, com.docker.compose.project=mysql, com.docker.compose.service=mysql, com.docker.compose.version=1.24.0, image=mysql:5.7, name=mysql_mysql_1)

2.2.7 logs

  • 语法
docker logs [OPTIONS] CONTAINER
  • OPTIONS说明:
-f : 跟踪日志输出
--since :显示某个开始时间的所有日志
-t : 显示时间戳
--tail :仅列出最新N条容器日志
  • 示例

[root@das-b4 ~]# docker logs --since="2018-06-01" --tail=10 mysql_mysql_1
2020-05-09T10:03:50.163225Z 0 [Note] Skipping generation of RSA key pair as key files are present in data directory.
2020-05-09T10:03:50.420794Z 0 [Note] Server hostname (bind-address): '*'; port: 3306
2020-05-09T10:03:50.420873Z 0 [Note] IPv6 is available.
2020-05-09T10:03:50.420903Z 0 [Note]   - '::' resolves to '::';
2020-05-09T10:03:50.420935Z 0 [Note] Server socket created on IP: '::'.
2020-05-09T10:03:51.025040Z 0 [Warning] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory.
2020-05-09T10:03:53.492378Z 0 [Note] InnoDB: Buffer pool(s) load completed at 200509 18:03:53
2020-05-09T10:04:02.496968Z 0 [Note] Event Scheduler: Loaded 0 events
2020-05-09T10:04:02.497378Z 0 [Note] mysqld: ready for connections.
Version: '5.7.28'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server (GPL)

2.2.8 wait

  • 作用
    阻塞运行直到容器停止,然后打印出它的退出代码。

  • 语法

docker wait [OPTIONS] CONTAINER [CONTAINER...]
  • 实例
docker wait CONTAINER

2.2.9 export/import

  • 作用:
    export:将容器存储为tar包
    import:将expot存储的tar包释放为镜像

  • 语法

docker export -o xxx.tar 容器名或ID
docker import xxxx.tar 镜像名:tag
  • 示例
docker export -o postgres-export.tar postgres

2.2.10 port

  • 作用:查看端口
  • 语法
# docker port 容器名
  • 示例
# docker port 59eabc2614ef 80/tcp -> 0.0.0.0:80 
# docker port kickass_pike 80/tcp -> 0.0.0.0:80 

2.3 system命令

2.3.1 容器空间使用情况

[root@das-meeting-16 docker]# docker system df
TYPE                TOTAL               ACTIVE              SIZE                RECLAIMABLE
Images              40                  21                  5.442GB             2.643GB (48%)
Containers          22                  22                  35.07MB             0B (0%)
Local Volumes       8                   8                   4.495GB             0B (0%)
Build Cache         0                   0                   0B                  0B

2.3.2 查看实时事件

docker system events

2.3.3 docker 系统信息

docker system info
Containers: 22
 Running: 22
 Paused: 0
 Stopped: 0
Images: 40
Server Version: 18.06.0-ce
Storage Driver: overlay2
 Backing Filesystem: extfs
 Supports d_type: true
 Native Overlay Diff: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: d64c661f1d51c48782c9cec8fda7604785f93587
runc version: 69663f0bd4b60df09991c08812a60108003fa340
init version: fec3683
Security Options:
 seccomp
  Profile: default
Kernel Version: 3.10.0-514.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 15.5GiB
Name: das-meeting-16
ID: 5XO4:CLUY:LDI3:U54X:JIPR:HH5K:MJWR:VTBX:LB4Y:V2NR:6SPU:TOSC
Docker Root Dir: /data/docker
Debug Mode (client): false
Debug Mode (server): false
HTTP Proxy: 10.10.222.191:808
HTTPS Proxy: 10.10.222.191:808
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
 10.252.96.249:1987
 127.0.0.0/8
Registry Mirrors:
 https://72idtxd8.mirror.aliyuncs.com/
Live Restore Enabled: false

2.3.4 自动清理

进阶内容见《docker服务清理》

[root@das-meeting-16 ~]# docker system prune
WARNING! This will remove:
        - all stopped containers
        - all networks not used by at least one container
        - all dangling images
        - all build cache
Are you sure you want to continue? [y/N] y
Deleted Networks:
app_kong-net
boe-iotgw-server_default

Deleted Images:
untagged: 10.252.97.57/iot/web@sha256:35f4fc8df4d6aee308f239d7b395435058ed95fa5467220f4a448822423f86eb
deleted: sha256:ef73a04f1abb55216af6447bc8823cb30d84e96081cd502ed3a57b36091b05a3
deleted: sha256:034bf5325ec3345d68a1762c3ec1a7404cf48d7b194ac11cd86597908147ab74
untagged: 10.252.96.249:1987/epd/image-studio@sha256:d662b294b43e4277dbbb79efee729c672ba0a7191840a7ebb706cfeac77e77af
deleted: sha256:e0b1eb162b0bea4e2564419150891ae624bc4523e43159f64b6b63e0411bc42b
deleted: sha256:d61799bda8e52190456503c6bfdfb137bc5a8c563dfc8cbda878bf53cc656fb9

如上可知:

    - all stopped containers
    - all networks not used by at least one container
    - all dangling images
    - all build cache

3. 一些通用选项

3.1 自动重启

  • 语法:
docker run --restart=值 镜像
docker updata --restart=值 镜像
  • 值:
    always 任何情况下重启
    on-failure 仅错误退出时重启
  • 示例:
# docker run -d --restart=always docker.io/tomcat:v01
# docker update --restart=always tomcat-test-01

3.2 使用主机mac地址

--mac-address

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

推荐阅读更多精彩内容

  • 前言: 最近在面试找工作,整理一下遇到的面试题.大公司更倾向于基础,小公司更偏向于业务处理,但整体上遇到的面试问题...
    早_wsm阅读 424评论 0 2
  • Docker时微服务的基础,学习Docker命令能有效的完成一些简单的问题定位工作等。下面介绍的是一些常用的Doc...
    小孩真笨阅读 546评论 1 0
  • 额外补充 查看容器运行状态 进入容器内进行命令行操作 在容器mynginx中开启一个交互模式的终端 容器生命周期管...
    tianmac阅读 4,519评论 1 2
  • docker命令集容器生命周期管理 容器操作 容器文件系统操作 镜像仓库操作 镜像管理 集群管理 其他命令 命令参...
    yichen_china阅读 371评论 0 0
  • 一. 什么是Docker 在docker的官方之什么是docker中提到了一句话:“当今各大组织或者团体的创新都源...
    dddye阅读 1,151评论 0 1