Docker之容器命令

Docker之容器命令

1、新建容器
docker create命令创建一个容器,例如:

 docker create -it hello-world

使用docker create命令新建的容器处于停止状态。可以使用docker start命令启动它。

2、新建并启动容器
docker run等价于先执行docker create,后执行docker start。

docker run [OPTIONS] IMAGE [COMMAND] [ARG…]

-d, --detach=false         指定容器运行于前台还是后台,默认为false
-u, --user=""              指定容器的用户   
-i, --interactive=false   打开STDIN,用于控制台交互  
-t, --tty=false            分配tty设备,该可以支持终端登录,默认为false 
-m, --memory=""            指定容器的内存上限 
-h, --hostname=""          指定容器的主机名  
--name=""                  指定容器名字,后续可以通过名字进行容器管理,links特性需要使用名字
--net="bridge"             容器网络设置
-v, --volume=[]            给容器挂载存储卷,挂载到容器的某个目录
-P, --publish-all=false    指定容器暴露的端口
-p, --publish=[]           指定容器暴露的端口
--cpus=2                   指定容器最多可以使用主机上几个CPU
--cpuset-cpus=""           指定容器使用哪几个cpu
--volumes-from=[]          给容器挂载其他容器上的卷,挂载到容器的某个目录
--blkio-weight=0           块IO权重(相对权重)接受10和1000之间的权重值。
 --rm=false                指定容器停止后自动删除容器(不支持以docker run -d启动的容器) 
 --ip                      指定IPv4 地址

事例:

1、 docker run -d --name nginx nginx:latest  
后台启动并运行一个名为nginx的容器,运行前它会自动去docker镜像站点下载最新的镜像文件  
2、 docker run -d -p 80:80 nginx:latest  
后台启动并运名为nginx的容器,然后将容器的80端口映射到物理机的80端口
3、docker run -d -v /docker/data:/docker/data -p 80:80 nginx:latest  
后台启动并运名为nginx的容器,然后将容器的80端口映射到物理机的80端口,并且将物理机的/docker/data目录映射到容器的/docker/data
4、docker run -it  nginx:latest /bin/bash  
以交互式模式运行容器,然后在容器内执行/bin/bash命令
5、 docker run -it -m 300M ubuntu:14.04 /bin/bash
 指定ubuntu容器的内存上限

3、终止容器
使用docker stop来停止运行中的容器。

docker stop 607fbd4ef4fb

查看处于终止状态的容器的ID信息。

docker ps -a -q

终止所有容器:

docker stop $(docker ps -aq)

4、进入容器

某些时候需要进入容器进行操作,包括使用 docker attach 命令或 docker exec 命令,推荐大家使用 docker exec 命令。

  • docker attach
docker attach 607fbd4ef4fb

注意: 如果从这个 stdin 中 exit,会导致容器的停止。

  • docker exec
docker exec -it 607f bash

只用 -i 参数时,由于没有分配伪终端,界面没有我们熟悉的 Linux 命令提示符,但命令执行结果仍然可以返回。

当 -i -t 参数一起使用时,则可以看到我们熟悉的 Linux 命令提示符。

如果从这个 stdin 中 exit,不会导致容器的停止。这就是为什么推荐大家使用 docker exec 的原因。

5、删除容器
可以使用 docker container rm 来删除一个处于终止状态的容器。例如

 docker rm  607f

如果要删除一个运行中的容器,可以添加 -f 参数。Docker 会发送 SIGKILL 信号给容器。

删除所有容器

docker rm $(docker ps -aq)

6、导入和导出容器

  • 导出容器
docker export 7691a814370e > ubuntu.tar
  • 导入容器
cat ubuntu.tar | docker import - test/ubuntu:v1.0

7、显示容器使用的系统资源

docker stats

默认情况下,stats 命令会每隔 1 秒钟刷新一次输出的内容直到你按下 ctrl + c。下面是输出的主要内容:

[CONTAINER]:以短格式显示容器的 ID。
[CPU %]:CPU 的使用情况。
[MEM USAGE / LIMIT]:当前使用的内存和最大可以使用的内存。
[MEM %]:以百分比的形式显示内存使用情况。
[NET I/O]:网络 I/O 数据。
[BLOCK I/O]:磁盘 I/O 数据。 
[PIDS]:PID 号。

只输出指定的容器

如果我们只想查看个别容器的资源使用情况,可以为 docker stats 命令显式的指定目标容器的名称或者是 ID:

docker stats --no-stream registry 1493
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值