社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
语法
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
常用选项:
--name string
: 给启动的容器 起一个名字,如果不使用 –name 。docker的守护进程会自动给容器命名
-d, --detach
:让容器在后台运行,用于运行服务
-i, --interactive
:交互式
-t, --tty
:分配一个伪终端
--rm
:容器运行介绍后自动删除
-e, --env
:设置环境变量
-p, --publish list
:发布容器端口到主机
-P, --publish-all
:发布容器所有EPOSE的端口到宿主机随机端口
-h, --hostname
:设置容器主机名
--ip string
:指定容器IP,只能用于自定义网络
--network
:连接容器到一个网络
--mount mount
:将文件系统附加到容器
-v, --volume list
:绑定挂载一个卷
--volumes-from
:
容器运行资源限制选项:
#内存限额
-m, --memory
:内存限额
--memory-swap
:内存+swap限额,默认为2倍-m大小#cpu限额
-c, --cpu-share
: cpu资源提供给一组容器使用,组内的容器按比例使用cpu资源,当容器处于空闲状态时,cpu资源被负载大的容器占用,(按压缩方式比例分配),当空闲进行运行起来时,cpu资源会被分配到其他容器
--cpu
: 指定 cpu的核心数量,这种方式直接限定了容器可用的cpu资源
--cpuset-cpus
: 指定容器只能运行在哪个cpu核心上(绑定cpu);核心使用0,1,2,3编号;–cpu-share
会随机指定cpu#block IO限额
--blkio-weight
:io权重,默认500
--device-read-bps
:按每秒读取块设备的数据量设定上限
--device-write-bps
:按每秒写入块设备的数据量设定上限
--device-read-iops
:按照每秒读操作次数设定上限
--device-write-iops
:按照每秒写操作次数设定上限
例子
docker run --rm centos /bin/echo "hello world"
docker run -t -i --name mydocker centos /bin/bash
docker ps
:查看正在运行的容器
docker ps -a
:查看所有状态的容器
docker ps -l
:可以查看你最后一个运行的容器
docker ps -a -q
:查看所有容器的ID
docker start 容器ID/名称
:启动一个未运行(已停止)的容器
docker stop 容器ID/名称
:发送一个命令等待容器停止: 有等待时间
docker kill 容器ID/名称
: 直接停止容器:没等待时间
这两个的区别相当于kill和kill -9的区别
暂停容器:docker pause 容器ID/名称
唤醒容器:docker unpause 容器ID/名称
方法一:通过docker attach 容器名
(exit容器退出)
方法二:通过nsenter(推荐,exit容器不会关闭)
#首先要安装util-linux
yum install util-linux
#获取容器的pid
docker inspect -f "{{ .State.Pid }}" mydocker
#使用nsenter进入容器
nsenter -t PID -m -u -i -p -n
-t:指定PID
-m:进入Mount Namespace
-u:进入ust namespace
-i:进入IPC namespace
-p:进入到pid namespace
-n:进入到network namespace
#我们可以编辑一个脚本,直接用脚本进入
#!/bin/bash
CPID=`docker inspect -f "{{ .State.Pid }}" $CID`
nsenter -t CPID -m -u -i -p -n
方法三:通过docker exec(推荐,exit容器不会关闭)
docker exec 容器ID/名称 命令
删除容器:docker rm 容器名/ID
强制删除:docker rm -f 容器名/ID
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!