posts - 225, comments - 62, trackbacks - 0, articles - 0
   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

docker常用命令

Posted on 2022-03-28 16:57 魔のkyo 阅读(93) 评论(0)  编辑 收藏 引用
启动一个容器
docker run -h 容器主机名 --name 容器名 -Pdit 镜像名
启动一个新的bash进行管理
docker exec -it 容器名 bash

其他常用命令
  镜像 容器
创建 build -t/commit create/run
删除 rmi rm
重命名 tag+rmi rename
查看列表 images ps/ps -a/ps -l -q
运行状态 stats top
查看日志 history logs
拉取 pull
推送 push
查找 search
查看容器信息 inspect
发信号 kill
附到主进程 attach
执行新进程 exec

docker run 常用参数
-d   # 后台运行
-it   # 打开STDIN,支持终端登录
--name <容器名>
-h <主机名>
-P   # 随机映射所有配置在EXPOSE中的端口
-p [<宿主端口>:]<容器端口> # 指定映射一个端口,不指定宿主端口时表示随机
-v <宿主路径>:<容器路径>[:ro|:rw] # 卷映射,容器路径不存在时自动创建,ro表示只读,默认是rw表示读写
--volumes-from <容器名> # 指定容器里的所有卷都将加入到新创建的容器里
--network <网络名> # 默认bridge,同一个非默认网络下的容器可以使用主机名相互访问
--link <容器名>:<主机名>  # 在新创建的容器里可以通过主机名访问另一个运行中的容器
--add-host <主机名>:<IP> # 指定主机名解析添加到/etc/hosts文件
--env <环境变量名>=<环境变量值>  # 设置环境变量,-e 选项可以重复多次
--env-file <环境变量文件>  # 指定环境变量文件,换行符分割
--user <用户名>
--workdir <工作目录>
--mac-address="xx:xx:xx:xx:xx:xx"   # 指定MAC地址
关于资源限制的参数:
--cpuset-cpus="1,3" 限制在核1、3上运行
--memory=1G 限制内存最大使用1G
--device-read-bps /dev/sdd:40mb 限制读取sdd的速度最大40mb
--device-write-bps /dev/sdd:30mb 限制写入sdd的速度最大30mb
(机械硬盘读写速度是60-80MB,固态硬盘读写速度是130~300MB,都是写慢读快

docker network 常用参数
  create      创建一个新的网络
  connect   向一个网络中添加一个容器
  disconnect  从一个网络中移除一个容器
  inspect    查看指定网络详细信息
  ls             查看网络列表
  rm           删除指定网络
  prune      删除所有未使用的网络

docker inspect
--format format的用法比较复杂,用3个逐级深入的例子演示

docker_id 查看容器的Id
docker inspect --format='{{.Id}}' 容器名

docker_ip 查看容器在所有网络中分配的所有的ip
docker inspect --format='{{range .NetworkSettings.Networks}}{{println .IPAddress}}{{end}}' 容器名

docker_port 查看容器所有的端口映射情况,用docker inspect实现 docker port命令
docker inspect --format='{{range $p, $conf := .NetworkSettings.Ports}}{{range $conf}}{{$p}} -> {{.HostIp}}:{{.HostPort}}{{println}}{{end}}{{end}}' 容器名
只有注册用户登录后才能发表评论。