Docker基本管理

Docker基本管理

文章目录

  • Docker核心概念
  • Docker镜像操作
  • Docker容器操作
  • Docker数据管理

Docker概述

Docker是什么?
  • 是一种轻量级的“虚拟机”
  • 在Linux容器里运行应用的开源工具
Docker的使用场景
  • 打包应用程序简化部署
  • 可脱离底层硬件任意迁移

Docker的核心概念及安装方式

Docker核心概念

  • 镜像
  • 容器
  • 仓库
    公有仓库:官方提供
    私有仓库:私人搭建

CentOS安装Docker的两种方式

  • 使用CURL获得Docker的安装脚本进行安装
  • 使用YUM仓库来安装Docker

安装Docker及基本管理

主机操作系统IP地址主要软件
服务器CentOS7192.168.45.129Docker-19.003.0-ce
需求描述
  • 安装Docker
  • 完成最基本的Docker操作管理(创建、启动、参数等)
  • 完成Docker创建资源控制及数据卷管理

安装Docker

#安装依懒包
yum install -y yum-utils device-mapper-persistent-data lvm2
#设置阿里云镜像版
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#安装docker-ce
yum install -y docker-ce
#关闭防火墙和安全功能
systemctl stop firewalld.service
setenforce 0
#开启docker,并设置为开机自启
systemctl start docker.service
systemctl enable docker.service
#查看docker进程
ps aux | grep docker
#查看docker版本
docker version

在这里插入图片描述

Docker镜像操作

#搜索镜像
docker search 关键字
#示例
docker search nginx

#获取镜像
docker pull 仓库名称【:标签】
#示例
docker pull nginx

#查看镜像
docker images

#查看详细信息
docker inspect 镜像ID  
#示例
docker inspect 231d40e811cd

#添加新标签
docker tag 名称[:标签] 新名称[:新标签]
#示例
docker tag nginx:latest nginx:web

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

#存出镜像
docker save -o 存出镜像名 存出的镜像
#示例
docker save -o nginx nginx:latest

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

#上传镜像
docker push 仓库名称[:标签]
#示例
docker push abner/nginx:web

在这里插入图片描述

Docker容器操作

-------------容器操作--------------------------
#创建容器
docker create -it nginx:latest  /bin/bash
-i:让容器的标准输入保持打开
-t:让Docker分配一个伪终端

#查看容器
docker ps -a
-a 列出最近一次启动放入容器

#启动容器
docker start  容器ID


在这里插入图片描述

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

在这里插入图片描述

#进入容器,容器一定要处于up状态
docker exec p[选项]容器的ID/名称 /bin/bash
示例:docker exec -it 容器ID /bin/bash
exit 退出

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

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

在这里插入图片描述

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

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

在这里插入图片描述

Docker的数据管理

数据管理操作
  • 方便查看容器内产生的数据
  • 多容器间实现数据共享
两种管理方式
  • 数据卷:容器和数组之间的数据共享
  • 数据卷容器:容器之间实现共享

数据卷

数据卷是一个提供容器使用的特殊目录
创建数据卷
# 创建数据卷
docker run -d -v /data1 -v /data2 --name web
httpd:centos
示例:
docker run -v /var/www:/data1 --name web1 -it centos /bin/bash

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

数据卷容器

数据卷容器就是一个普通的容器
挂载web容器中的数据卷到新的容器
//数据卷容器
docker run --name web100 -v /data1 -v /data2 -it centos /bin/bash
//新容器挂载数据卷容器web100
docker run -it --volumes-from web100 -it centos /bin/bash

资源控制

#cpu使用率控制
#设置容器占用cpu资源为20%
[root@localhost docker]# docker run --cpu-quota 20000 nginx:latest

#按比例,权重分配
创建两个容器为c1和c2,若只有这两个容器,设置容器的权重,是的c1和c2的cpu资源占比为33.3%66.7%
docker run -itd --name c1 --cpu-shares 512 nginx:latest
docker run -itd --name c2 --cpu-shares 1024 nginx:latest
[root@localhost docker]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                     PORTS               NAMES
d28b1d73b0ed        nginx:latest        "nginx -g 'daemon of…"   6 seconds ago       Up 5 seconds               80/tcp              c2
de49e4d6b4f9        nginx:latest        "nginx -g 'daemon of…"   17 seconds ago      Up 16 seconds              80/tcp              c1
35cb117c9cc7        nginx:latest        "nginx -g 'daemon of…"   6 minutes ago       Exited (0) 5 minutes ago                       dazzling_goldberg
2286b99c2c6d        nginx:latest        "/bin/bash"              7 minutes ago       Up 7 minutes               80/tcp              flamboyant_booth

#限制容器使用指定的cpu,0,1核心数为2
[root@localhost docker]# docker run --name c3 --cpuset-cpus 0,1 nginx:latest 
[root@localhost docker]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS                      PORTS               NAMES
83e56a65c604        nginx:latest        "nginx -g 'daemon of…"   About a minute ago   Exited (0) 52 seconds ago                       c3

#对blkio某一块磁盘的读写的限制
--device-read-bps   限制读某个设备的bps(数据量)
--device-write-bps  限制写入某个设备的bps
--device-read-iops  限制读某个设备的ipos(次数)
--device-write-iops  限制写某个设备的ipos

[root@localhost docker]# docker run -d --device-write-bps /dev/sda:30mb nginx:latest 
1a386d9c306baa36c02edda2df793ff673b46f4ace4e5ee5f72177d8cd4a3d42
[root@localhost docker]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES
1a386d9c306b        nginx:latest        "nginx -g 'daemon of…"   4 seconds ago    
引用\[1\]:Docker镜像命令思维导图是一篇文章,主要用来记录Docker命令的思维导图,方便回顾和复习使用。文章中提供了多个思维导图源文件,包括docker服务、docker整体、docker镜像、docker容器和补充的redis-cli命令。这些思维导图可以帮助用户回顾和学习Docker命令的使用。\[1\] 引用\[2\]:Docker使用思维导图及各种命令是一篇文章,介绍了Docker的架构和常用命令。文章中提供了Docker的架构图和常用命令的思维导图,包括搜索命令、下载镜像、列出镜像、删除本地镜像、保存镜像、加载镜像、构建镜像以及容器相关的命令。这些思维导图可以帮助用户更好地理解和使用Docker。\[2\] 根据提供的引用内容,可以看出这些思维导图主要是为了帮助用户回顾和学习Docker基本管理命令。这些思维导图提供了Docker的架构图、常用命令的概览以及具体命令的使用示例。用户可以根据自己的需求选择相应的思维导图来学习和使用Docker。 #### 引用[.reference_title] - *1* [Docker命令大全(带思维导图)](https://blog.csdn.net/bzu_mei/article/details/127627898)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Docker及其使用思维导图](https://blog.csdn.net/hliq5399/article/details/106021348)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值