Docker容器技术-命令进阶
一、基本命令
1.Docker布尔型选项
使用某选项但没有提供参数,等同于把选项设置为true,要改变它的值,唯一的方法是将其设置成false。
找出一个选项的默认值是true还是false:
[root@bogon ~]# docker --help
Usage: docker COMMAND
A self-sufficient runtime for containers
Options:
--config string Location of client config files (default "/root/.docker")
-D, --debug Enable debug mode
--help Print usage
-H, --host list Daemon socket(s) to connect to
-l, --log-level string Set the logging level ("debug"|"info"|"warn"|"error"|"fatal") (default "info")
--tls Use TLS; implied by --tlsverify
--tlscacert string Trust certs signed only by this CA (default "/root/.docker/ca.pem")
--tlscert string Path to TLS certificate file (default "/root/.docker/cert.pem")
--tlskey string Path to TLS key file (default "/root/.docker/key.pem")
--tlsverify Use TLS and verify the remote
-v, --version Print version information and quit
设置默认值:
[root@bogon ~]# docker run --sig-proxy=false
[root@bogon ~]# docker run --read-only=true
2.run命令
控制容器的生命周期以及基本运行模式
-a, --attach list Attach to STDIN, STDOUT or STDERR
把指定的数据流(ETDOUT)连接至终端;若未指定,则默认连接stdout和stderr;若数据流未指定,容器以交互模式(-i)启动,则stdin被连接至终端。
-d, --detach Run container in background and print container ID
使容器在“分离”模式下运行;容器会在后台运行,而命令的返回值是容器的ID。
-i, --interactive Keep STDIN open even if not attached
保持stdin打开。一般与-t同时使用,用作启动交互式会话的容器。
--restart string Restart policy to apply when a container exits (default "no")
配置Docker在什么情况下尝试重启已退出的容器。
参数no为永远不会尝试重启容器;
参数always指不管退出状态是什么,总会尝试重启;
参数on-failure仅当退出状态不为0时重启,并可以追加一个可选参数,指定尝试次数,超过次数会放弃(未指定会一直重试);
例如:
[root@bogon ~]# docker run --restart on-failure:10 postgres
--rm Automatically remove the container when it exits
退出时自动删除容器,不能与-d同时使用。
-t, --tty Allocate a pseudo-TTY
分配一个伪终端,通常与-t使用,启动交互式容器。
允许设置容器名称和变量
-e, --env list Set environment variables
设置容器内的环境变量。
例如:
[root@bogon ~]# docker run -e var1=var -e var2="val 2" debian env
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=9eb154072928
var1=var
var2=val 2
HOME=/root
--env-file list Read in a file of environment variables
可以经文件传入环境变量。
-h, --hostname string Container host name
设置容器的unix主机名NAME。
例如:
[root@bogon ~]# docker run -h "myhost" debian hostname
--name string Assign a name to the container
把string设置为容器的名称。
允许用户进行数据卷的设置
说明:
数据卷—即一个容器中的文件或目录,实际属于主机的文件系统,而非容器的联合文件系统的一部分。
-v, --volume list Bind mount a volume
用来设置数据卷。
1)仅指定容器中的目录,docker会自行选定一个主机上的目录与之绑定;
2)指定与容器目录绑定的主机目录;
--volumes-from list Mount volumes from the specified container(s)
挂载指定容器拥有的数据卷。
网络连接
--expose list Expose a port or a range of ports
指定容器将会使用的端口或端口范围,但不会把端口打开;与-P参数同时使用或在连接容器时才有用。
--link list Add link to another container
建立一个与指定容器连接的内部网络接口。
-p, --publish list Publish a container's port(s) to the host
“发布”容器的端口,使主机能访问它;若未指定端口,会随机分配一个高端口;或指定端口在主机的那个网络接口开放。
使用docker port查看分配了哪个端口及映射关系。
-P, --publish-all Publish all exposed ports to random ports
“发布”所有已指定为开放(exposed)的容器端口,使主机能访问它们;每个容器端口均对应一个随机高端口。
控制容器权限及性能
--entrypoint string Overwrite the default ENTRYPOINT of the image
把参数string指定为容器的入口,覆盖任何Dockerfile中的ENTRYPOINT指令。
-u, --user string Username or UID (format: <name|uid>[:<group|gid>])
设置命令运行时所使用的用户;可以以用户名或UID指定;同样会覆盖Dockerfile中的USER指令。
-w, --workdir string Working directory inside the container
将参数的路径设置为容器的工作目录;会覆盖Dockerfile中的WORKDIR指令。
3.容器管理
1) docker attach命令
允许用户查看容器内的主进程或与之交互。
[root@bogon ~]# docker attach --help
Usage: docker attach [OPTIONS] CONTAINER
Attach local standard input, output, and error streams to a running container
Options:
--detach-keys string Override the key sequence for detaching a container
--help Print usage
--no-stdin Do not attach STDIN
--sig-proxy Proxy all received signals to the process (default true)
[root@bogon ~]# ID=$(docker run -d debian sh -c "while true; do echo 'tick'; sleep 2; done;")
[root@bogon ~]# docker attach $ID
tick
tick
tick
tick
2)docker create命令
从镜像创建容器,但不启动。
[root@bogon ~]# docker start --help
Usage: docker start [OPTIONS] CONTAINER [CONTAINER...]
Start one or more stopped containers
Options:
-a, --attach Attach STDOUT/STDERR and forward signals
--detach-keys string Override the key sequence for detaching a container
--help Print usage
-i, --interactive Attach container's STDIN
3) docker cp命令
在容器和主机之间复制文件和目录
[root@bogon ~]# docker cp --help
Usage: docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
Copy files/folders between a container and the local filesystem
Options:
-a, --archive Archive mode (copy all uid/gid information)
-L, --follow-link Always follow symbol link in SRC_PATH
--help Print usage
4) docker exec命令
在容器中运行一个命令。用于执行维护工作或替代SSH用作登入容器。
[root@bogon ~]# docker exec --help
Usage: docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
Run a command in a running container
Options:
-d, --detach Detached mode: run command in the background
--detach-keys string Override the key sequence for detaching a container
-e, --env list Set environment variables
--help Print usage
-i, --interactive Keep STDIN open even if not attached
--privileged Give extended privileges to the command
-t, --tty Allocate a pseudo-TTY
-u, --user string Username or UID (format: <name|uid>[:<group|gid>])
[root@bogon ~]# ID=$(docker run -d debian bash -c \
> "trap 'echo caught' SIGTRAP; while true; do sleep 2; done;")
[root@bogon ~]# docker kill -s SIGTRAP $ID
320175afeec0192844073a00a3ba1fecc6cc15879fcdbbe08683ff63bd0dc215
[root@bogon ~]# docker logs $ID
caught
[root@bogon ~]# docker kill $ID
320175afeec0192844073a00a3ba1fecc6cc15879fcdbbe08683ff63bd0dc215
5) docker pause命令
暂停容器内的所有进程。
进程不会接收到被暂停的信号,因此它们无法执行正常结束或清理的程序。(与docker stop不同)
通过docker unpause命令重启。
[root@bogon ~]# docker pause --help
Usage: docker pause CONTAINER [CONTAINER...]
Pause all processes within one or more containers
Options:
--help Print usage
6) docker restart命令
重新启动一个或多个容器。
- 先执行docker stop
- 再执行docker start
[root@bogon ~]# docker restart --help
Usage: docker restart [OPTIONS] CONTAINER [CONTAINER...]
Restart one or more containers
Options:
--help Print usage
-t, --time int Seconds to wait for stop before killing the container (default 10)
7) docker rm命令
删除一个或多个容器。
默认不会删除任何数据卷。
[root@bogon ~]# docker rm --help
Usage: docker rm [OPTIONS] CONTAINER [CONTAINER...]
Remove one or more containers
Options:
-f, --force Force the removal of a running container (uses SIGKILL)
--help Print usage
-l, --link Remove the specified link
-v, --volumes Remove the volumes associated with the container
[root@bogon ~]# docker rm $(docker ps -aq)
320175afeec0
447963b7b845
9eb154072928
096ff53edbaf
36c220e77949
Error response from daemon: You cannot remove a running container d07dd579ee128a9500b81507764edbcf81aef3281a22eee22fe04c74163c6986. Stop the container before attempting removal or force remove
[root@bogon ~]# docker rm -f $(docker ps -aq)
d07dd579ee12
8) docker start命令
启动一个或多个已停止的容器,或由create创建未启动的容器。
[root@bogon ~]# docker start --help
Usage: docker start [OPTIONS] CONTAINER [CONTAINER...]
Start one or more stopped containers
Options:
-a, --attach Attach STDOUT/STDERR and forward signals
--detach-keys string Override the key sequence for detaching a container
--help Print usage
-i, --interactive Attach container's STDIN
9) docker stop命令
停止但不删除一个或多个容器。
[root@bogon ~]# docker stop --help
Usage: docker stop [OPTIONS] CONTAINER [CONTAINER...]
Stop one or more running containers
Options:
--help Print usage
-t, --time int Seconds to wait for stop before killing it (default 10)
10) docker unpause命令
重启先前被docker pause命令暂停的容器。
[root@bogon ~]# docker unpause --help
Usage: docker unpause CONTAINER [CONTAINER...]
Unpause all processes within one or more containers
Options:
--help Print usage
4.Docker信息
[root@bogon ~]# docker info
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 13
Server Version: 17.09.0-ce
Storage Driver: overlay
Backing Filesystem: xfs
Supports d_type: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
...省略部分
[root@bogon ~]# docker version
Client:
Version: 17.09.0-ce
API version: 1.32
Go version: go1.8.3
Git commit: afdb6d4
Built: Tue Sep 26 22:41:23 2017
OS/Arch: linux/amd64
Server:
Version: 17.09.0-ce
API version: 1.32 (minimum version 1.12)
Go version: go1.8.3
Git commit: afdb6d4
Built: Tue Sep 26 22:42:49 2017
OS/Arch: linux/amd64
Experimental: false
5.容器信息
1) docker diff命令
对比容器所使用的镜像,显示容器的文件系统的变化。
[root@bogon ~]# ID=$(docker run -d debian touch /NEW-FILE)
[root@bogon ~]# docker diff $ID
A /NEW-FILE
2) docker events命令
打印守护进程的实时事件。
3) docker inspect命令
把容器或镜像作为参数,获取它们的详细信息(配置、联网、数据卷)。
[root@bogon ~]# docker inspect --help
Usage: docker inspect [OPTIONS] NAME|ID [NAME|ID...]
Return low-level information on Docker objects
Options:
-f, --format string Format the output using the given Go template
--help Print usage
-s, --size Display total file sizes if the type is container
--type string Return JSON for specified type
4) docker logs命令
输出容器的日志,也就是曾经输出到容器中的STDOUT或STDERR内容。
5) docker port命令
把容器作为参数,列出它的端口映射信息,查看容器内部端口和协议。
[root@bogon ~]# ID=$(docker run -P -d redis)
[root@bogon ~]# docker port $ID
6379/tcp -> 0.0.0.0:32768
[root@bogon ~]# docker port $ID 6379/tcp
0.0.0.0:32768
6) docker ps命令
提供当前容器的高阶信息
[root@bogon ~]# docker ps --help
Usage: docker ps [OPTIONS]
List containers
Options:
-a, --all Show all containers (default shows just running)
-f, --filter filter Filter output based on conditions provided
--format string Pretty-print containers using a Go template
--help Print usage
-n, --last int Show n last created containers (includes all states) (default -1)
-l, --latest Show the latest created container (includes all states)
--no-trunc Don't truncate output
-q, --quiet Only display numeric IDs
-s, --size Display total file sizes
7) docker top命令
把容器作为参数,提供该容器内运行中进程信息。
[root@bogon ~]# ID=$(docker run -d redis)
[root@bogon ~]# docker top $ID
UID PID PPID C STIME TTY TIME CMD
systemd+ 3881 3865 0 00:34 ? 00:00:00 redis-server *:6379
[root@bogon ~]# docker top $ID -axZ
LABEL PID TTY STAT TIME COMMAND
- 3881 ? Ssl 0:00 redis-server *:6379
6.镜像管理
1) docker build命令
从Dockerfile建立镜像
2) docker commit命令
从指定的容器创建镜像。
[root@bogon ~]# docker commit --help
Usage: docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
Create a new image from a container's changes
Options:
-a, --author string Author (e.g., "John Hannibal Smith <hannibal@a-team.com>")
-c, --change list Apply Dockerfile instruction to the created image
--help Print usage
-m, --message string Commit message
-p, --pause Pause container during commit (default true)
[root@bogon ~]# ID=$(docker run -d redis touch /new-file)
[root@bogon ~]# docker commit -a "Da Yun" -m "Comment" $ID commit:test
sha256:8794a1466b56e19d89b78d62eaa7cc04c5c1cd9fed8cf0a511d57ea387d6065d
[root@bogon ~]# docker images commit
REPOSITORY TAG IMAGE ID CREATED SIZE
commit test 8794a1466b56 10 seconds ago 107MB
[root@bogon ~]# docker run commit:test ls /new-file
/new-file
3) docker export命令
将容器的文件系统中的内容以tar归档的格式导出,并输出到STDOUT。
归档的文件可通过docker import导入,但只会导入文件系统,元数据将丢失。
4) docker history命令
输出镜像中每个镜像层的信息。
5) docker images命令
列出所有本地镜像。
[root@bogon ~]# docker images --help
Usage: docker images [OPTIONS] [REPOSITORY[:TAG]]
List images
Options:
-a, --all Show all images (default hides intermediate images)
--digests Show digests
-f, --filter filter Filter output based on conditions provided
--format string Pretty-print images using a Go template
--help Print usage
--no-trunc Don't truncate output
-q, --quiet Only show numeric IDs
[root@bogon ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
commit test 8794a1466b56 5 minutes ago 107MB
hubuser/webapp latest cbe52807fcad 8 hours ago 362MB
redis latest 1fb7b6c8c0d0 13 days ago 107MB
debian latest 874e27b628fd 13 days ago 100MB
ubuntu 14.04 dea1945146b9 5 weeks ago 188MB
busybox latest 54511612f1c4 5 weeks ago 1.13MB
[root@bogon ~]# docker images | head -2
REPOSITORY TAG IMAGE ID CREATED SIZE
commit test 8794a1466b56 5 minutes ago 107MB
6) docker import命令
从一个含有文件系统的归档文件创建镜像。
docker export 8794a1466b56 |docker import - flatten:test
docker history flatten:test
7) docker load命令
加载仓库,仓库以tar归档形式从STDIN读入。
仓库可以包含数个镜像和标签,并包含元数据。
8) docker rmi
删除指定的一个或多个镜像。
删除所有被遗留的镜像
docker rmi $(docker images -q -f dangling=true)
9) docker save命令
把指定的镜像或仓库储存到tar归档,并输出到STDOUT。
[root@bogon ~]# docker save -o /tmp/redis.tar redis:latest
[root@bogon ~]# docker rmi redis:latest
Error response from daemon: conflict: unable to remove repository reference "redis:latest" (must force) - container dd923378c826 is using its referenced image 1fb7b6c8c0d0
[root@bogon ~]# docker rmi -f redis:latest
Untagged: redis:latest
Untagged: redis@sha256:07e7b6cb753f8d06a894e22af30f94e04844461ab6cb002c688841873e5e5116
[root@bogon ~]# docker load -i /tmp/redis.tar
Loaded image: redis:latest
[root@bogon ~]# docker images redis
REPOSITORY TAG IMAGE ID CREATED SIZE
redis latest 1fb7b6c8c0d0 13 days ago 107MB
10) docker tag命令
将镜像与一个仓库和标签名称关联。
把ID为1fb7b6c8c0d0的镜像添加到仓库newname
[root@bogon ~]# docker tag 1fb7b6c8c0d0 newname
把newname:latest镜像添加到hdlptz/newname仓库(适用于推送到Hub)
[root@bogon ~]# docker tag newname:latest hdlptz/newname
与上面一样,但标签变为newtag
[root@bogon ~]# docker tag newname:latest hdlptz/newname:newtag
适用于将镜像推送到myregistry.com:5000寄存服务器
[root@bogon ~]# docker tag newname:latest myregistry.com:5000/newname:newtag
7.寄存服务器
1) docker login命令
在指定寄存服务器进行注册或登录。未指定则为Docker Hub。
2) docker logout命令
从Docker寄存服务器注销。
3) docker pull命令
从寄存服务器下载指定镜像。
4) docker push命令
将镜像或仓库推送到寄存服务器。
5) docker search命令
列出Docker Hub上匹配搜索词的公共仓库,结果最多25个仓库。
二、发布容器
将主机8000端口转发至容器80端口
[root@bogon ~]# docker run -d -p 8000:80 nginx
Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx
bc95e04b23c0: Pull complete
110767c6efff: Pull complete
f081e0c4df75: Pull complete
Digest: sha256:004ac1d5e791e705f12a17c80d7bb1e8f7f01aa7dca7deee6e65a03465392072
Status: Downloaded newer image for nginx:latest
521006b3e1d0b967bbde857f8940274e52418faf79b5bedda6fd36eb9a811e42
[root@bogon ~]# curl localhost:8000
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
[root@bogon ~]# ID=$(docker run -d -P nginx)
[root@bogon ~]# docker port $ID 80
0.0.0.0:32769
[root@bogon ~]# curl localhost:32769
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
...省略部分
三、容器互联
link是允许同一主机上的容器互相通信。
[root@bogon ~]# docker run -d --name myredis redis
315436a9429604a1e1eb87dfb3d88358afea9b1a0fae44a67b506fd5015b4d76
[root@bogon ~]# docker run --link myredis:redis debian env
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=f53e2bf05ea1
REDIS_PORT=tcp://172.17.0.6:6379
REDIS_PORT_6379_TCP=tcp://172.17.0.6:6379
REDIS_PORT_6379_TCP_ADDR=172.17.0.6
REDIS_PORT_6379_TCP_PORT=6379
REDIS_PORT_6379_TCP_PROTO=tcp
REDIS_NAME=/hopeful_pasteur/redis
REDIS_ENV_GOSU_VERSION=1.10
REDIS_ENV_REDIS_VERSION=4.0.2
REDIS_ENV_REDIS_DOWNLOAD_URL=http://download.redis.io/releases/redis-4.0.2.tar.gz
REDIS_ENV_REDIS_DOWNLOAD_SHA=b1a0915dbc91b979d06df1977fe594c3fa9b189f1f3d38743a2948c9f7634813
HOME=/root
四、利用数据卷和数据容器管理数据
Docker的数据卷是一个目录,并不属于UFS的一部分,它只是在主机上被绑定挂载到容器的一个普通目录。
三种初始化数据卷的方法:
1.通过-v选项宣告一个数据卷
[root@bogon ~]# docker run -it --name container-test -h CONTAINER -v /data debian /bin/bash
root@CONTAINER:/# ls /data
root@CONTAINER:/#
容器中的/data目录便成为一个数据卷;镜像的/data目录中的所有文件将被复制到数据卷中。
查看数据卷在主机上的实际位置:
[root@bogon ~]# docker inspect -f {{.Mounts}} container-test
[{volume 8f85ec52ae72894b6a15065a3fd3f863f94be708cd17969d15516eb6a014d262 /var/lib/docker/volumes/8f85ec52ae72894b6a15065a3fd3f863f94be708cd17969d15516eb6a014d262/_data /data local true }]
2.通过Dockerfile使用VOLUME指令
FROM debian:wheezy
VOLUME /data
注意:
VOLUME指令之后的所有指令不可以对该数据卷有任何修改(这些修改只会在临时容器层内的数据卷上执行,指令结束后将被删除)。
正确做法如下:
FROM debian:wheezy
RUN useradd foo
RUN mkdir /data && touch /data/x
RUN chown -R foo:foo /data
VOLUME /data
3.通过docker run -v用法进行扩展(绑定挂载)
docker run -v /home/adrian/data:/data debian ls /data
氢气可以使用/home/adrian/data目录下的任何文件,如果容器内已有/data目录,它的内容将被数据卷所隐藏。
五、共享数据
- -v HOST_DIR:CONTAINER_DIR
2.在运行docker run命令时,传入--volumes-from CONTAINER参数
[root@bogon ~]# docker run -it -h NEWCONTAINER --volumes-from container-test debian /bin/bash
root@NEWCONTAINER:/# ls /data
test-file
root@NEWCONTAINER:/#
3.数据容器
创建数据容器,使之与其他容器分享数据。
docker run --name dbdata postgres echo "Data-only container for postgres"
从postgres镜像创建一个容器,并且初始化镜像中定义的所有数据卷,最后执行echo命令并退出。
docker run -d --volumes-from dbdata --name db1 postgres
使其他容器可以使用这个数据卷
使用相同镜像不会占用任何额外空间,因为你已经下载或创建了用作数据使用方的镜像,这样也让镜像有机会为容器建立任何初始数据,并确保全县设置正确。
删除数据卷满足的条件:
1)容器被docker rm -v命令删除
2)docker run命令执行时带有--rm选项
3)目前没有容器与该数据卷关联
4)该数据卷没有指定使用主机目录
Docker容器技术-命令进阶的更多相关文章
- 微服务架构:基于微服务和Docker容器技术的PaaS云平台架构设计(微服务架构实施原理)
版权声明:本文为博主原创文章,转载请注明出处,欢迎交流学习! 基于微服务架构和Docker容器技术的PaaS云平台建设目标是给我们的开发人员提供一套服务快速开发.部署.运维管理.持续开发持续集成的流程 ...
- 如何安装和配置 Rex-Ray?- 每天5分钟玩转 Docker 容器技术(74)
Rex-Ray 是一个优秀的 Docker volume driver,本节将演示其安装和配置方法. Rex-Ray 以 standalone 进程的方式运行在 Docker 主机上,安装方法很简单, ...
- 配置 VirtualBox backend - 每天5分钟玩转 Docker 容器技术(75)
Rexy-Ray 支持多种 backend,上一节我们已经安装配置了 Rex-Ray,今天演示如何配置 VirtualBox backend. 在 VirtualBox 宿主机,即我的笔记本上启动 v ...
- 创建 Rex-Ray volume - 每天5分钟玩转 Docker 容器技术(76)
前面我们安装部署了 Rex-Ray,并且成功配置 VirtualBox backend,今天演示如何创建和使用 Rex-Ray volume. 在 docker1 或 docker2 上执行如下命令创 ...
- 跨主机使用 Rex-Ray volume - 每天5分钟玩转 Docker 容器技术(77)
上一节我们在 docker1 上的 MySQL 容器中使用了 Rex-Ray volume mysqldata,更新了数据库.现在容器已经删除,今天将演示在 docker2 中重新使用这个卷. 在 d ...
- Docker 最常用的监控方案 - 每天5分钟玩转 Docker 容器技术(78)
当 Docker 部署规模逐步变大后,可视化监控容器环境的性能和健康状态将会变得越来越重要. 在本章中,我们将讨论几个目前比较常用的容器监控工具和方案,为大家构建自己的监控系统提供参考. 首先我们会讨 ...
- Weave Scope 容器地图 - 每天5分钟玩转 Docker 容器技术(80)
Weave Scope 的最大特点是会自动生成一张 Docker 容器地图,让我们能够直观地理解.监控和控制容器.千言万语不及一张图,先感受一下. 下面开始实践 Weave Scope. 安装 执行如 ...
- Weave Scope 多主机监控 - 每天5分钟玩转 Docker 容器技术(81)
除了监控容器,Weave Scope 还可以监控 Docker Host. 点击顶部 HOSTS 菜单项,地图将显示当前 host. 与容器类似,点击该 host 图标将显示详细信息. host 当前 ...
- 如何快速部署 Prometheus?- 每天5分钟玩转 Docker 容器技术(85)
上一节介绍了 Prometheus 的核心,多维数据模型.本节演示如何快速搭建 Prometheus 监控系统. 环境说明 我们将通过 Prometheus 监控两台 Docker Host:192. ...
随机推荐
- Div+CSS布局入门教程
http://www.blueidea.com/tech/site/2006/3574.asp ———————————————————————————————————————————————————— ...
- Databinding在自定义ViewGroup中如何绑定view
首先我们在平时开发中使用databinding的时候大部分都是在Activity或者fragment中,但我们一旦在自定义ViewGroup中使用的时候就会出现问题 问题描述: 我们在自定义Linea ...
- void bind(String sName,Object object);――绑定:把名称同对象关联的过程
void bind(String sName,Object object);――绑定:把名称同对象关联的过程 void rebind(String sName,Object object);――重新绑 ...
- tinycore Network card configuration during exec bootlocal.sh
question: tinycore在boot时, 运行bootlocal.sh脚本,其中有局域网通信的部分,一直跑不通,测试了一下才知道是运行bootlocal.sh的阶段,网络可能没有配置好,ip ...
- Quartz定时任务学习(三)属性文件和jar
以下是我在应用的的一个基本配置: #---------调度器属性----------------org.quartz.scheduler.instanceName = TestSchedulerorg ...
- CMake error:System Error:No such file or directory CMake error:Could not open file for write in copy operation xxxx.ros_Config.cmake.tmp.
微型电脑或嵌入式与电脑还是有点不同的,在微型电脑上ros indigo 版本下利用catkin编译如果你遇到如下错误: CMake error:System Error:No such file or ...
- OpenCV学习笔记十五:opencv_features2d模块
一,简介: 该库用于2D特征检测,描述与匹配.
- Android开发:《Gradle Recipes for Android》阅读笔记(翻译)2.2——将Eclipse开发的项目导入到AndroidStudio
问题: 你想要将一个Eclipse ADT项目导入到Android Studio中. 解决方案: Android Studio提供了一个导入向导,可以重写已有的项目. 详细: 在Android Stu ...
- docker logspout
https://hub.docker.com/r/jplock/rsyslog/ docker pull jplock/rsyslog:8.2.2 docker run -d -p 514:514 j ...
- ECMAScript6面对大于0xFFFF的Unicode字符如何正确返回长度
一.match() 1.定义 match()方法用于检索字符串内指定(字符串或正则)的值,返回指定值的数组,若找不到,返回null. 2.语法 str.match(searchvalue) str.m ...