Docker

在这里插入图片描述

一、什么是docker

docker官方文档:https://docs.docker.com/get-started/
docker hub:https://hub.docker.com/

Docker通过隔离机制,既可以保障每个"集装箱里面的东西"是互不影响的,也可以将服务器的资 源压榨到最大程度。

二、docker和虚拟机的区别

在这里插入图片描述
虚拟机和docker的区别:

  1. 虚拟机虚拟出完整的操作系统,而docker直接运行在宿主机的内核上,没有自己的内核和虚拟硬件,所以更加小巧轻便。
  2. 虚拟机是操作系统级别的虚拟化,而docker是内核级别的虚拟化;
  3. 虚拟机比docker更重,更消耗资源,启动速度远远慢于docker;
  4. docker可以实现快速的运维部署;
  5. docker更便捷的升级和扩容/缩容;
  6. 可以更高效的利用物理机的硬件资源。

三、docker的安装

官方安装步骤:https://docs.docker.com/get-started/overview/

卸 载 老 版 本

sudo yum remove docker \
	 docker-client \
	 docker-client-latest \
	 docker-common \
	 docker-latest \
	 docker-latest-logrotate \
	 docker-logrotate \
	 docker-engine

安装dockerEngines

## 第一步、使用仓库进行安装
sudo yum install -y yum-utils

## 第二步、使用官方源地址(比较慢)
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

## 使用阿里云
sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
## 使用清华大学源
sudo yum-config-manager \
    --add-repo \
    https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

## 第三步、安装docker引擎
 sudo yum install docker-ce docker-ce-cli containerd.io

开启docker

sudo systemctl start docker

验证docker是否安装成功

sudo docker run hello-world

四、docker基础命令

查看版本

docker version

查看docker的信息

docker info

docker的帮助命令

docker [命令] --help 
	如: docker images --help

查看运行中的docker

 docker ps

查看容器的top信息

docker top [容器唯一Id]

查看容器元数据信息

docker inspect [容器唯一Id]

进入容器

  1. 第一种方式 docker attach
    docker attach [容器唯一Id]
    
  2. 第二种方式 docker exec
    docker exec -it [容器唯一Id] /bin/bash
    

文件拷贝

  1. 从宿主机拷贝到容器 docker cp SRC_PATH [容器唯一Id]:DEST_PATH
    docker cp /home/a.txt [容器唯一Id]:/home
    
  2. 从容器拷贝到宿主机
    docker cp [容器唯一Id]:/home/b.txt /home/zlf
    

查看容器状态

docker stats

五、docker镜像命令

查询镜像列表

 docker images

搜索镜像

  1. 第一种方式:docker search
    docker search rabbitmq
    
  2. 第二种方式:docker hub

下载镜像

默认下载最新版本

 docker pull rabbitmq

删除镜像

docker rmi -f [镜像唯一Id]
docker rmi -f [镜像唯一Id] [镜像唯一Id] [镜像唯一Id]
docker rmi -f $(docker images -aq)

六、docker容器命令

运行容器

 docker run -it centos /bin/bash
 docker run -d --name nginx3 -p 1113:80 nginx 0ed40ef4650bf9f6aad36bbf184e738a4316d04c3a48c77e7aac69d6b798e601

退出容器

  1. CTRL+P+Q: 退出容器,但不关闭容器
  2. exit、CTRL + D:退出容器,关闭容器

删除容器

  1. 删除一个容器
    ## 强制删除一个UP状态的容器
    docker rm -f [容器唯一Id] 
    
    ## 删除一个非UP状态的容器
    docker rm [容器唯一Id]
    
  2. 删除多个容器
    docker rm [容器唯一Id] [容器唯一Id]
    
  3. 删除所有容器
    docker rm -f $(docker ps -aq)
    

启动和重启容器

docker start [容器唯一Id]
docker restart [容器唯一Id]

停止容器

 docker stop [容器唯一Id]

杀死容器

docker kill [容器唯一Id]

在这里插入图片描述

七、docker原理

什么是镜像

镜像是一种轻量级、可执行的独立软件包。包含代码、运行时、库、环境变量和配置文件。所有应用,直接打包docker镜像,就可以直接跑起来。

获得镜像的方式:

  1. 从远程仓库下载;
  2. 通过传输拷贝方式获得;
  3. 自己通过DockerFile制作镜像。

镜像下载(拉取)

联合文件系统是一种分层、轻量级、高性能的文件系统。它支持对文件系统的修改作为一 次提交来一层层的叠加
联合文件系统是Docker镜像的基础。

联合文件系统

下载的时候,看到的一层层下载,这个就是联合文件系统——UnionFS。
在这里插入图片描述
在这里插入图片描述

镜像加载原理

在这里插入图片描述

提交镜像

提交容器,成为一个新的副本。

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

在这里插入图片描述

八、容器数据卷

什么是容器数据卷

docker是将应用和环境进行了打包。那么如果删掉容器的话,数据也会同时被删除掉。那么,如果我们有数据持久化的需求,或者容器之间数据共享的需求,那么就用到了容器数据卷。
在这里插入图片描述

挂载操作

执行挂载(把本机路径/home/muse/test,挂在到centos容器的/bin/bash目录下)

docker run -it -v /home/zlf/test:/home centos /bin/bash

具名挂载和匿名挂载

  1. 匿名挂载 (通过-v 指定容器内路径 )

    docker run -d -P --name nginx1 -v :/etc/nginx nginx
    
  2. 具名挂载(常用方式) (通过-v 卷名:容器内路径,指定具名挂载 )

    docker run -d -P --name nginx2 -v nginx2:/etc/nginx nginx
    
  • 查看挂载列表
    docker volume ls
    
  • 查看挂载信息
    docker volume inspect [VOLUME]
    	如:docker volume inspect mysql
    

数据卷容器

相互挂载的容器之间的文件是相互同步复制备份的,而不是共享的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

抽抽了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值