千家信息网

docker基本管理

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,Docker核心概念1、Docker是什么?●是一种轻量级的"虚拟机"●在Linux容器里运行应用的开源工具2、Docker与虚拟机的区别特性Docker容器虚拟机启动特性秒级分钟级计算能力损耗几乎无
千家信息网最后更新 2026年11月01日docker基本管理

Docker核心概念

1、Docker是什么?

●是一种轻量级的"虚拟机"
●在Linux容器里运行应用的开源工具

2、Docker与虚拟机的区别

特性Docker容器虚拟机
启动特性秒级分钟级
计算能力损耗几乎无损耗50%左右
性能接近原生弱于
系统支持量(单机)上千个几十个
隔离性资源限制完全隔离

3、Docker的使用场景

●打包应用程序简化部署

●可脱离底层硬件任意迁移

●例:服务器从腾讯云迁移到阿里云

4、Docker核心概念

镜像

容器

仓库(公有仓库、私有仓库,存放镜像)

5、CentOS安装Docker的两种方式

●使用CURL获得Docker的安装脚本进行安装

●使用YUM仓库来安装Docker

Docker镜像操作

docker镜像基本操作

容器1:192.168.13.128容器2:192.168.13.129
[root@localhost ~]# docker inspect f7bb5701a33c  ##查看镜像信息[root@localhost ~]# docker tag nginx:latest nginx:web  ##添加新标签[root@localhost ~]# docker images  ##查看镜像REPOSITORY          TAG                 IMAGE ID            CREATED             SIZEnginx               latest              f7bb5701a33c        4 days ago          126MBnginx               web                 f7bb5701a33c        4 days ago          126MB##重新生成一个镜像,原有的不会消失[root@localhost ~]# docker images | grep web   ##查看标签为web的镜像nginx               web                 f7bb5701a33c        4 days ago          126MB[root@localhost ~]# docker rmi nginx:web   ##删除镜像,或者直接跟ID号Untagged: nginx:web[root@localhost ~]# docker imagesREPOSITORY          TAG                 IMAGE ID            CREATED             SIZEnginx               latest              f7bb5701a33c        4 days ago          126MB[root@localhost ~]# cd /opt/[root@localhost opt]# docker save  -o nginx nginx:latest ##存出镜像[root@localhost opt]# lscontainerd  nginx  rh[root@localhost opt]# scp /opt/nginx root@192.168.13.129:/opt/  ##远程复制到129服务器上

开启另一台装有docker的虚拟机(192.168.13.129)

[root@localhost opt]# docker load < nginx   ##载入镜像##或者使用docker load --input 存出文件名[root@localhost opt]# docker images  ##查看镜像信息REPOSITORY          TAG                 IMAGE ID            CREATED             SIZEnginx               latest              f7bb5701a33c        4 days ago          126MB回到原虚拟机(192.168.13.128)[root@localhost opt]# docker tag nginx:latest nginx:web  ##修改标签[root@localhost opt]# docker login  ##登录docker(你需要注册)Username:   ##用户名Password:    ##密码[root@localhost opt]# docker push nginx:web  ##上传公有仓库

docker容器基本操作

[root@localhost opt]# docker create -it nginx:latest /bin/bash  ##基于镜像创建一个容器##-i让容器的标准输入保持打开,-t让docker分配一个伪终端36fdfb0925ba040c094d585d70a3481bd450c7d39e6636ceeb10b5c1b9743593[root@localhost opt]# docker ps -a  ##-a列出最近一次启动的容器CONTAINER ID        IMAGE         COMMAND             CREATED             STATUS              PORTS               NAMES36fdfb0925ba        nginx:latest        "/bin/bash"         3 seconds ago       Created                                 mystifying_dijkstra[root@localhost opt]# docker start 36fdfb0925ba  ##开启容器36fdfb0925ba[root@localhost opt]# docker ps -a  ##查看此时容器状态为开启CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES36fdfb0925ba        nginx:latest        "/bin/bash"         16 minutes ago      Up 6 seconds        80/tcp              mystifying_dijkstra

完整的步骤操作:

[root@localhost opt]# docker search centos7   ##查看找centos7镜像[root@localhost opt]# docker pull paigeeworld/centos7  ##下载镜像[root@localhost opt]# docker images  ##查看镜像REPOSITORY            TAG                 IMAGE ID            CREATED             SIZEnginx                 latest              f7bb5701a33c        4 days ago          126MBnginx                 web                 f7bb5701a33c        4 days ago          126MBpaigeeworld/centos7   latest              4cbe7aa905e7        5 years ago         382MB[root@localhost opt]# docker create -it paigeeworld/centos7 /bin/bash  ##创建容器c48649c8cee9124cb456be4f93882e6dff16f88ba45051731138142d99293dfe[root@localhost opt]# docker ps -a  ##查看容器CONTAINER ID        IMAGE                 COMMAND             CREATED             STATUS                     PORTS               NAMESc48649c8cee9        paigeeworld/centos7   "/bin/bash"         4 seconds ago       Created                                        relaxed_curran36fdfb0925ba        nginx:latest          "/bin/bash"         24 minutes ago      Exited (0) 3 minutes ago                       mystifying_dijkstra[root@localhost opt]# docker start c48649c8cee9  ##开启容器c48649c8cee9[root@localhost opt]# docker ps -a  ##查看容器CONTAINER ID        IMAGE                 COMMAND             CREATED             STATUS                     PORTS               NAMESc48649c8cee9        paigeeworld/centos7   "/bin/bash"         34 seconds ago      Up 7 seconds                                   relaxed_curran36fdfb0925ba        nginx:latest          "/bin/bash"         24 minutes ago      Exited (0) 3 minutes ago  

容器的基本操作

[root@localhost opt]# docker run paigeeworld/centos7 /usr/bin/bash -c ls /##docker run直接下载镜像,创建容器,并开启,进入容器执行命令,退出binbootdevetchome[root@localhost opt]# docker ps -a  ##查看容器CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS                      PORTS               NAMESc48649c8cee9        paigeeworld/centos7   "/bin/bash"              9 minutes ago       Up 9 minutes                                    relaxed_curran[root@localhost opt]# docker exec -it c48649c8cee9 /bin/bash  ##进入容器(必须为开启状态)bash-4.2# ls /bin   dev  home  lib64       media  opt   root  sbin  sys  usrboot  etc  lib   lost+found  mnt    proc  run   srv   tmp  varbash-4.2# exit   ##退出容器exit[root@localhost opt]# docker ps -a   ##此时容器状态还是开启的状态CONTAINER ID        IMAGE                 COMMAND                  CREATED              STATUS                          PORTS               NAMESc48649c8cee9        paigeeworld/centos7   "/bin/bash"              10 minutes ago       Up 10 minutes                                       relaxed_curran[root@localhost opt]# docker stop c48649c8cee9   ##关闭容器c48649c8cee9[root@localhost opt]# docker ps -a  ##此时容器为退出状态CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS                       PORTS               NAMESc48649c8cee9        paigeeworld/centos7   "/bin/bash"              11 minutes ago      Exited [root@localhost opt]# docker run -d paigeeworld/centos7 /bin/bash -c "while true;do echo hello;done"##持续在后台执行,-d在后台进行运行398f3d27f36b7f59a2167a71e71f61064e4e9a0808dfa13404caec0280a0b9c2[root@localhost opt]# docker ps -a  ##查看容器一直是开启状态CONTAINER ID        IMAGE                 COMMAND                  CREATED              STATUS                       PORTS               NAMES398f3d27f36b        paigeeworld/centos7   "/bin/bash -c 'while…"   9 seconds ago        Up 7 seconds   [root@localhost opt]# docker export 36fdfb0925ba > nginx_c ##容器导出[root@localhost opt]# lscontainerd  nginx  nginx_c  rh[root@localhost opt]# scp /opt/nginx_c root@192.168.13.129:/opt/  ##远程复制到另一台虚拟机##到另一台虚拟机上[root@localhost opt]# lscontainerd  nginx  nginx_c  rh[root@localhost opt]# cat nginx_c | docker import - nginx:web ##容器导入##会生成镜像而不会创建容器sha256:1488d058197863aedd46d289eeb11dc39f19a2b855c3ecf383331a4d0bac568c[root@localhost opt]# docker imagesREPOSITORY          TAG                 IMAGE ID            CREATED             SIZEnginx               web                 1488d0581978        5 seconds ago       125MB[root@localhost opt]# docker ps -aCONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES[root@localhost opt]# docker ps -a | awk '{print "docker rm "$1}' | bash ##批量删除容器

docker资源控制

限制cpu使用速率

通过--cpu-quota选项来限制cpu的使用率通过修改配置文件cpu.cfs_quota_us实现

多任务按比例分享cpu

docker run --cpu-shares 1024 容器Adocker run --cpu-shares 1024 容器Bdocker run --cpu-shares 2048 容器C

使用--cpuset-cpus选项限制cpu内核使用权

[root@localhost opt]# docker run --cpu-quota 20000 nginx:latest ##设置20%限定[root@localhost opt]# cd /sys/fs/cgroup/cpu/docker/[root@localhost opt]# cat cpu.cfs_quota_us -1[root@localhost opt]# docker run -itd --name c1 --cpu-shares 512 paigeeworld/centos7##创建容器c1设置权重,使得c1和c2的cpu资源占比为33.3%和66.7%ec4ab03a7969eebe4746cfe67184bc2c6f9c97e81b22bc2ffab452820a78a0a7[root@localhost opt]# docker run -itd --name c2 --cpu-shares 1024 paigeeworld/centos7c688b014329c6a33b0d66947f4489a1a1cb6febc321090ecb4a82b68ae6df250[root@localhost opt]# docker ps -a  ##查看容器CONTAINER ID        IMAGE                 COMMAND                  CREATED              STATUS                     PORTS               NAMESc688b014329c        paigeeworld/centos7   "/bin/bash"              About a minute ago   Up About a minute                              c2ec4ab03a7969        paigeeworld/centos7   "/bin/bash"              About a minute ago   Up About a minute                              c1[root@localhost opt]# docker run --name c3 --cpuset-cpus 0,1 paigeeworld/centos7##限制容器使用指定的cpu[root@localhost opt]# docker ps -a  ##查看容器的信息CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS                     PORTS               NAMES751409a81682        paigeeworld/centos7   "/bin/bash"              8 seconds ago       Exited (0) 7 seconds ago                       c3[root@localhost opt]# docker run --name c5 -m 512m paigeeworld/centos7##内存使用限制[root@localhost opt]# docker ps -aCONTAINER ID        IMAGE                 COMMAND                  CREATED              STATUS                          PORTS               NAMES8c3101668345        paigeeworld/centos7   "/bin/bash"              5 seconds ago        Exited (0) 4 seconds ago                            c5

对blkio限制

--device-read-bps:限制某个设备的数据量--device-write-bps:限制写入某个设备的数据量--device-read-iops:限制读某个设备的次数--device-write-iops:限制写入某个设备的次数[root@localhost opt]# docker run -d --device-write-bps /dev/sda:30mb paigeeworld/centos7

docker的数据管理

数据管理操作

方便查看容器内产生的数据多容器间实现数据共享

两种管理方式

数据卷数据卷容器

数据卷

数据卷是一个提供容器使用的特殊目录

数据卷容器

数据卷容器就是一个普通的容器

数据卷共享(宿主机跟容器的共享):

[root@localhost ~]# docker pull centos  ##下载镜像[root@localhost ~]# docker run -v /var/www:/data1 --name web1 -it centos /bin/bash##关联宿主机和容器的共享[root@2483bee94f1a /]# cd data1/[root@2483bee94f1a data1]# echo "123" > test01.txt   [root@2483bee94f1a data1]# exit exit[root@localhost ~]# cat /var/www/test01.txt   123

数据卷容器共享(容器跟容器):

[root@localhost ~]# docker run --name web100 -v /data1 -v /data2 -it centos /bin/bash##创建一个web100容器并分别有两个卷为data1,2[root@ba6a328c068e /]# cd data1/[root@ba6a328c068e data1]# echo "111" > 111.txt  ##分别在目录中写入内容[root@ba6a328c068e data1]# cd ../data2/[root@ba6a328c068e data2]# echo "222" > 222.txt[root@ba6a328c068e data2]# exitexit[root@localhost ~]# docker run -it --volumes-from web100 -it centos /bin/bash##将新容器挂载数据卷容器web100[root@3f64be49dadd /]# cat data1/111.txt 111[root@3f64be49dadd /]# cat data2/222.txt 222
容器 镜像 数据 限制 状态 仓库 设备 管理 信息 基本操作 标签 资源 后台 宿主 宿主机 数据管理 文件 方式 服务器 核心 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 保险科技 互联网保险 高科技互联网 没上市的科技互联网公司 易互联网科技有限公司 互联网与未来科技 科技创新互联网企业 天下捷融互联网科技 互联网科技公司介绍 顺网科技2021年互联网排名 云创客互联网科技公司 昭通云南众福互联网科技有限公司 栖莱科技互联网股份有限公司 互联网金融科技展 企晟互联网信息科技有限公司 洛阳共同富裕互联网科技有限公司 互联网在线教育科技创业 互联网科技如何创业 北京品多多互联网科技有限公司 网互联网络科技 六子台科技互联网展会 互联网是第几次科技革命的成果 科技互联网企业 奔汉互联网科技 撒么互联网科技公司 新华互联网科技校企合作 银川新华互联网科技职业技术培训学校图片 翼展科技 首家互联网医院 本届互联网大会上的黑科技 深圳互联网科技园地址 互联网对科技影响
0