千家信息网

Docker常用的控制命令有哪些

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,前言Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用沙箱机
千家信息网最后更新 2026年11月03日Docker常用的控制命令有哪些

前言

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

一、资源控制

1、CPU使用率控制

限制该镜像本次建立的容器最大只能占总资源的10%

docker run --cpu-quota 10000 centos

2、按比例分配

创建两个容器为c1和c2,若只有这两个容器,设置容器的权重,使得c1和c2的CPU资源占比为33.3%和66. 7%

docker run -itd --name c1 --cpu-shares 512 centos(镜像名)
docker run -itd --name c2 --cpu-shares 1024 centos(镜像名)

3、限制容器使用指定的CPU

为该镜像指定四个CPU的使用

docker run --name c3 --cpuset-cpus 0001,0010,0100,1000 centos

4、内存使用限制
限制建立的容器最多只能使用1gb内存
docker run --name c4 -m 1gb centos

5、限制容器读取磁盘\设备的数据量
限制该容器仅能读取sda磁盘的100mb的数据
docker run -d --device-read-bps /dev/sda:100mb centos

6、限制容器写入磁盘\设备的数据量
限制该容器仅能写入sda磁盘的100mb的数据
docker run -d --device-write-bps /dev/sda:100mb centos

7、限制容器读取磁盘\设备的次数
限制该容器仅能读取sda磁盘10次
docker run -d --device-read-iops /dev/sda:10 centos

8、限制容器写入磁盘\设备的次数
限制该容器仅能写入sda磁盘的10次
docker run -d --device-write-iops /dev/sda:10 centos

二、Docker数据卷、数据卷容器

1、建立数据卷(容器目内录与宿主机目录之间实现数据共享)

以交互模式建立数据卷

docker run -v 本地目录:容器目录 --name 容器名 -it 镜像名 /bin/bash"-v" 指定数据卷"-name" 新建立的容器名称/var/www:/data1 前面为宿主目录,后者为容器目录(整体为建立关联过程)

2、建立数据卷容器(两个容器之间实现数据共享,与宿主机环境无关)

以交互模式建立容器并提供其中目录作为数据卷容器载体

docker run -v 容器内目录 ...... --name 容器名 -it 镜像名 /bin/bash

挂载提供空间的容器的数据卷到新容器中建立数据卷容器

docker run --volumes-from 提供空间的镜像名 --name 容器名 -it 镜像名 /bin/bash

三、Docker个人镜像创建

(1)基于现有镜像创建新的镜像

创建容器docker create -it centos /bin/bash生成新的镜像docker commit -m "new" -a "zhy" -p ccbd1395fce9(容器ID/名称) ccos:new(生成的新镜像名称:标签)●-m说明信息●-a作者信息●-p生成过程中停止容器的运行

(2)基于本地模板创建新的镜像

下载镜像模板wget http://download.openvz.org/teuplate/precreated/debian-7.0-x86-minimal.tar.gz生成新的镜像cat debian-7.0-x86-minimal.tar.gz | docker import - daoke:new

(3)基于Dockerfile创建新的镜像

mkdir apachecd apachevim Dockerfile#基于的基础镜像FROM centos#维护镜像的用户信息MAINTAINER The porject #镜像操作指令安装apache软件RUN yum- y updateRUN yum -y install httpd#开启80端口EXPOSE 80#复制网站首页文件ADD index. html /var/www/html/index. html#将执行脚本复制到镜像中ADD run. sh /run. shRUN chmod 755 /run. sh#启动容器时执行脚本.CMD[" /run. sh"]vim run.sh#!/bin/bashrm -rf /run/httpd/*exec /usr/sbin/apachectl -D FOREGROUPecho "web test" > index.html//生成镜像docker build -t httpd:centos .//新镜像运行容器docker run -d -p 1216:80 httpd:centos

四、Docker端口映射

1、容器内随机端口进行映射(映射范围:49000~49900)

[root@localhost ~]# docker run -d -P httpd:centos      0820d042e62294c0db107eef0fea8c2c1fca737acb8d91306a6d40e134332bde[root@localhost ~]# docker ps -aCONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS                   NAMES0820d042e622        httpd:centos        "/run.sh"           2 seconds ago       Up 1 second                 0.0.0.0:32768->80/tcp   epic_jennings

2、容器内指定端口进行映射

[root@localhost ~]# docker run -d -p 5566:80 httpd:centos9f65fc007070f36df88304515232a0d5fa357e55926a5f06b48cdf359e6ec9b8[root@localhost ~]# docker ps -aCONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS                  NAMES9f65fc007070        httpd:centos        "/run.sh"           4 seconds ago       Up 4 seconds                0.0.0.0:5566->80/tcp   intelligent_nightingale

3、容器之间互联

docker run -itd -P --name web1 centos /bin/bash                      //创建并运行容器取名web1,端口号自动映射docker run -itd -P --name web2 --link web1:web1 centos /bin/bash                    //创建并运行容器取名web2,

五、建立Docker私有仓库

[root@localhost tomcat]# docker pull registry              //下载私有仓库注册表[root@localhost nginx]# vim /etc/docker/daemon.json//添加私有仓库地址{  "insecure-registries" : ["192.168.142.77:5000"],                       //私有仓库地址  "registry-mirrors" : ["https://abc123.mirror.aliyuncs.com"]}//重启docker[root@localhost nginx]# systemctl stop docker[root@localhost nginx]# systemctl start docker//基于仓库镜像建立容器[root@localhost nginx]# docker create -it registry /bin/bash96f91f83a1d58ddee147fe3d141d27d69fa7d3d76c46e3783bef7c1c5d0339bb[root@localhost nginx]# docker ps -aCONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                                                                                                                PORTS               NAMES96f91f83a1d5        registry            "/entrypoint.sh /bin…"   5 seconds ago       Created                                                                                                                                   sweet_almeida[root@localhost nginx]# docker run -d -p 5000:5000 -v /data/registry:/tmp/registry registry//更改镜像标签(地址填写仓库地址)[root@localhost nginx]# docker tag nginx:zhy 192.168.142.77:5000/nginx:zhy//上传即可[root@localhost nginx]# docker push 192.168.142.77:5000/nginx:zhy
容器 镜像 数据 限制 磁盘 目录 仓库 生成 之间 地址 端口 设备 仅能 私有 运行 两个 信息 名称 宿主 资源 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 关于新基建和互联网科技 互联网金融 金融科技 平安科技 互联网 广州宏创互联网科技 上海喔噻互联网科技 广州互联网络科技有限公司 互联网科技的未来发展 互联网金融监管科技 深圳市运趣互联网科技有限公司 云创客互联网科技公司 哈尔滨新华互联网科技学院 贵州叶脉互联网科技有限公司所属行业 知域互联网科技有限公司大骗子 民营互联网公司国防科技 工业互联网等科技实现智能化赋能 山东星卡互联网科技有限公司官网 宇信科技在杭州互联网排第几 唐山双旺合互联网科技产业园 广东猫王互联网科技有限公司电话 广州全民伙伴互联网科技有限公司 互联网属科技 互联网的科技创新 百单互联网科技有限公司 互联网科技英文翻译 深圳前海聚择互联网科技有限公司 广州恒生互联网科技有限 深圳互联网科技的发展 从那以后互联网科技有限公司 保山浩联互联网科技有限公司 北京瑞云互联网科技有限公司
0