docker概述

docker概述

概 述
docker概述_第1张图片

docker是go语言开发的

  • docker官方文档:

https://docs.docker.com/get-started/

  • docker hub:

    https://hub.docker.com/

服务镜像资源下载: https://hub.docker.com/search

保存镜像成为tar命令

docker save -o mysql-20211116.tar mysql:latest

Docker的思想就如它的logo一样:
docker就是大鲸鱼,而每个镜像container就是对应的集装箱。

那么docker的核心思想是什么呢?答案就是——隔离!!

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

docker能干嘛?

docker的 出 现 改 变 了 什 么 ?
docker概述_第2张图片

docker与VM有啥区别?

与 虚 拟 机 的 区 别

docker概述_第3张图片

安装docker

安 装 前 的 准 备 阶 段 **—— **卸 载 老 版 本

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

sudo yum remove docker \

docker-client \

docker-client-latest \

docker-common \

docker-latest \

docker-latest-logrotate \

ocker-logrotate \

docker-engine

docker概述_第4张图片

使 用 仓 库 进 行 安 装

sudo yum install -y yum-utils

docker概述_第5张图片

sudo yum-config-manager \

–add-repo \

https://download.docker.com/linux/centos/docker-ce.repo

请添加图片描述

安 装 d o c k e r 引 擎

sudo yum install docker-ce docker-ce-cli containerd.io

docker概述_第6张图片

启动docker

sudo systemctl start docker

docker概述_第7张图片

验 证 d o c k e r 引 擎 是 否 安 装 完 毕 sudo docker run hello-world

d o c k e r 启 动 相 关 指 令

# 查看下载的镜像列表

docker images

# 重新加载docker

sudo systemctl daemon-reload

# 重启docker

sudo systemctl restart docker  # 配置docker国内镜像地址(加快镜像下载速度)

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'

{

"registry-mirrors":

["https://aa25jngun.mirror.aliyuncs.com"]

}

EOF

sudo systemctl daemon-reload sudo systemctl restart docker

docker基础命令

可 以 通 过 官 网 查 看 相 关 命 令

官网文档链接:

https://docs.docker.com/reference/

docker概述_第8张图片

常 用 基 础 命 令

docker概述_第9张图片

docker镜像命令

常 用 镜 像 命 令

docker概述_第10张图片

docker容器命令

常 用 容 器 命 令

docker概述_第11张图片

docker概述_第12张图片

D o c k e r 命 令 大 全

docker镜像原理

什 么 是 镜 像

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

获得镜像的方式:

  • 1.从远程仓库下载

  • 2.通过传输拷贝方式获得

  • 3.自己通过DockerFile制作镜像

镜 像 拉 取

docker概述_第13张图片

我们下载的时候,看到的一层层下载,这个就是联合文件系统——UnionFS。

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

联合文件系统是Docker镜像的基础。

联 合 文 件 系 统

docker概述_第14张图片

镜 像 加 载 原 理

docker概述_第15张图片

提 交 镜 像

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

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

docker概述_第16张图片

容器数据卷

什 么 是 容 器 数 据 卷

如前面介绍的,docker是将应用和环境进行了打包。那么如果删掉容器的话,数据也会同时被删除掉。那么,如果我们有数据持久化的需求,或者容器之间数据共享的需求,那么就用到了容器数据卷。

docker概述_第17张图片

挂 载 操 作

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

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

# 查看挂载内容(上面run的容器id就是da6268d8ac0a)

docker inspect da6268d8ac0a

docker概述_第18张图片

具 名 挂 载 与 匿 名 挂 载

  • 匿名挂载

    通过-v 指定容器内路径

    docker run -d -P --name nginx1 -v :/etc/nginx nginx
    请添加图片描述

  • 具名挂载(常用方式)

    通过-v 卷名:容器内路径,指定具名挂载

    docker run -d -P --name nginx2 -v nginx2:/etc/nginx nginx
    请添加图片描述

挂 载 常 用 相 关 命 令

  • 查看挂载列表

    docker volume ls
    请添加图片描述

  • 查看挂载信息

    docker volume inspect [VOLUME]

docker概述_第19张图片

数 据 卷 容 器

docker概述_第20张图片

我们发现,删除了museCentOS03之后,museCentOS02里的muse01目录下依然有a.txt文件,这就表明了, museCentOS01~museCentOS03这三个容器中a.txt文件是互相同步复制备份的。而并不是同享了某个目录,大家都去查看一个备份。

DockerFile初探

编 写 一 个 简 单 的 D o c k e r F i le

  • 在/home/muse下构造dockerfiles文件夹和dockerfile01文件

  • 编写DockerFile(命令大写)

    FROM centos

    VOLUME [“muse01”,“muse02”]

    CMD echo “------finish------” CMD /bin/bash

  • 构造镜像

    docker build -f /home/muse/dockerfiles/dockerfile01 -t muse/centos:1.0 .

  • 启动自己构建的镜像(通过docker images查询出IMAGE ID为eb78333356a6 )
    docker run -it eb78333356a6 /bin/bash

你可能感兴趣的:(Docker,docker,容器,运维)