Docker安装与管理
admin
2023-02-22 16:40:03
0

Docker概述

Docker安装与管理

Docker是什么?

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

Docker的使用场景

 打包应用程序简化部署
可脱离底层硬件任意迁移

Docker核心概念

镜像
容器
仓库
公有仓库:官方提供
私有仓库:私人搭建
注:进项和容器可以相互转换!

CentOS安装Docker的两种方式

使用CURL获得Docker的安装脚本进行安装
使用YUM仓库来安装Docker
注:建议使用YUM安装!

docker安装

主机 操作系统 IP地址 主要软件
服务器 CentOS7 192.168.142.130 Docker-19.003.0-ce
#安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm 2

#设置阿里云镜像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

#安装Docker-CE
yum install docker-ce -y

#关闭防火墙和安全功能
systemctl stop firewalld.service
setenforce 0

#开启docker
systemctl start docker.service

#开机自启动docker
systemctl enable docker.service

#查看服务进程状态
ps aux | grep docker


docker基础操作

#查看docker本号
docker version

#公有仓库搜索镜像
docker search nginx

#下载镜像(忒慢!)
docker pull 仓库名称【:标签】

实例:

docker pull nginx
#重载守护进程
systemctl daemon-reload

#重启服务
systemctl restart docker

#查看已下载的镜像
docker images

#查看镜像详细信息
docker inspect 镜像ID  

#添加新标签
docker tag 名称[:标签] 新名称[:新标签]

#删除镜像
docker rmi 仓库名称[:标签]
docker rmi 镜像ID

#存出镜像
docker save -o 存出镜像名 存出的镜像

#载入镜像
docker load --input 存出文件名
docker load < 存出文件名

#上传镜像
docker push 仓库名称[:标签]


docker容器操作

#创建容器
docker create [选项]镜像运行的程序

#选项
-i让容器的标准输入保持打开
-t让Docker分配一个伪终端

**实例:**
```bash
docker create -it nginx:latest  /bin/bash
#查看容器
docker ps [选项]

#选项
-a:列出最近一次启动的容器
-q:静默模式,只显示容器编号

实例:

docker ps -a

#启动容器
docker start  容器ID

#创建容器并执行shell命令
docker run [选项]镜像运行的程序,执行的命令

#选项
-p:可以指定映射端口;
-P:将容器开放的网络端口(默认是80端口)映射到主机随机的一个端口;
-d:在后台进行运行

#持续在后台执行
docker run -d 容器名称 /bin/bash -c "while true;do echo hello;done"

#终止容器
docker stop 容器的ID/名称

#进入容器,容器一定要处于up状态

docker exec p[选项]容器的ID/名称 /bin/bash
docker exec -it 容器ID /bin/bash

#选项
-i : 即使没有连接,也保持STDIN 打开;
-t : 分配一个伪终端,这样就可以看到 Linux 命令提示符了;

#退出容器
exit 

#导出容器
docker export 容器的ID/名称ID > 文件名

#导入容器(会生成镜像,而不会创建容器)
cat 文件名 | docker import -生成的镜像名称:标签

#删除容器
docker rm [选项]容器的ID/名称

#批量删除
docker ps -a | awk '{print "docker rm "$1}' | bash


docker资源控制

1.限制CPU使用速率

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

实例:

docker run --cpu-quota 20000 centos

2.多任务按比例分享CPU

docker run --cpu-shares 1024容器A
docker run --cpu-shares 1024容器B
docker run --cpu-shares 2048容器C

实例:

#按比例分配
#创建两个容器为c1和c2, 若只有这两个容器,设置容器的权重,使得c1和c2的CPU资源占比为33.3%和166.7%。
locker run -itd --name c1 --cpu-shares 512 paigeeworld/centos7
locker run -itd --name c2 --cpu-shares 1024 paigeewor1d/centos7

3.使用--cpuset-cpus选项限制CPU内核使用权

docker run- -m 512m paigeeworld/ centos7

4.对blkio的限制

--device-read-bps: 限制读某个设备的bps (数据量)

实例:

docker run -d --device-read-bps /dev/sda: 30M paigeeworld/centos7

--device-write-bps :限制写入某个设备的bps (数据量)

实例:

docker run -d --device-write-bps dev/sda: 30M pai geewor ld/ centos7

--device-read-iops :限制读某个设备的iops (次数)

--device-write-iops :限制写入某个设备的iops (次数)


Docker的数据管理

数据管理操作

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

两种管理方式

数据卷(容器和宿主间的共享)
数据卷容器(实现容器之间的共享)

docker数据卷

数据卷是一个提供容器使用的特殊目录
#创建数据卷
docker run -d -V /data1 -V /data2 --name web httpd:centos

#挂载主机目录作为数据卷
docker run -d -V /var/www:/data1 --name web-1 httpd:centos

#挂载web容器中的数据卷到新的容器
docker run -it --volumes-from web --name db1 httpd:centos /bin/bash

实例:

#下载镜像
docker pull centos
#宿主机目录/var/www挂载容器中的/data1
docker run -v /var/www:/data1 --name web1 -it centos /bin/bash

#创建测试
cd /data1/
touch test

#退出容器
exit

#返回宿主机进行查看
ls /var/www

[root@localhost ~]# ls /var/www
test

docker数据卷容器

#数据卷容器
docker run --name web100 -v /data1 -v /data2 -it centos /bin/bash

#新容器挂载数据卷容器web100
docker run -it --volumes-from web100 --name db1 centos /bin/bash

谢谢阅读!!!

相关内容

热门资讯

男子称爷爷向天津美院捐赠40件... 近日,康先生在社交平台发布视频称,其爷爷康建章于1996年向天津美术学院捐赠的40件书画作品,自己希...
以军总参谋长:在伊朗仍有一系列... △以色列国防军总参谋长扎米尔(资料图)当地时间5月6日,以色列国防军总参谋长扎米尔表示,以军与美军的...
为什么说全世界都在“占中国的便... 身边的“洋面孔”越来越多了。2025年,入境外国游客人数为3517万人次,同比增长30.5%。入境游...
伊朗消息人士:美方提议包含不可... 当地时间6日,伊朗消息人士表示,伊朗尚未回应美国方面的最新提议,因为该提议包含一些不可接受的条款。他...
中国“四大发明”的历史遗憾,会... 导语:2026年初,美国国防部发布“人工智能战略”备忘录,将AI建设重心聚焦于作战、情报和企业三大方...
2026年深圳微信商城小程序公... 在数字化转型浪潮中,微信商城小程序已成为企业连接用户、拓展业务的关键载体。然而,面对市场上众多的小程...
原创 雷... 前小米技术一号位崔宝秋,休养一年多,重走创业路。 证明自己不只是「雷军的老同学」? 2026年的具...
伊朗:若美方不作出必要让步,已... △伊朗首都德黑兰(资料图)当地时间6日,伊朗议会国家安全与外交政策委员会发言人易卜拉欣·雷扎伊在社交...
戏韵新章,薪火永续——2026... 弦歌渐歇,余韵绵长。5月4日,“一出好戏·四市联动”2026豫剧文化艺术周在主会场许昌曹魏古城圆满落...
天迈科技收购预案公布!切入工业... 【大河财立方消息】 5月6日,天迈科技披露发行股份及支付现金购买资产并募集配套资金暨关联交易预案。根...