在这里插入图片描述

一、Docker概述

1、什么是Docker

Docker是世界领先的软件容器化平台
Docker公司开发,开源,托管在github
跨平台,支持Windows、MacOS、Linux

在这里插入图片描述

名词:

  • 镜像:Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。

  • 容器容器的实质是进程;容器技术从本质上讲是将程序隔离、打包的技术,类比:简易Linux

  • 仓库: 存镜像,一个 Docker Registry 中可以包含多个仓库(Repository);每个仓库可以包含多个标签(Tag);每个标签对应一个镜像。

2、为什么要用Docker

在这里插入图片描述

二、Docker安装

Linux版本信息:
在这里插入图片描述

1、卸载旧版本

较旧的Docker版本称为docker或docker-engine。如果已安装这些程序,请卸载它们以及相关的依赖项。

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

/ var / lib / docker /的内容(包括映像,容器,卷和网络)被保留。 Docker Engine软件包现在称为docker-ce。
可以选择删除:

$ sudo rm -rf /var/lib/docker

2、安装方式

1、使用官方安装脚本自动安装

国内 daocloud 一键安装命令:

curl -sSL https://get.daocloud.io/docker | sh
2、手动安装
使用 Docker 仓库进行安装

在新主机上首次安装Docker Engine之前,需要设置Docker存储库。之后,您可以从存储库安装和更新Docker。

设置仓库

安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。

$ sudo yum install -y yum-utils
#使用阿里云镜像地址
$ sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

Docker卸载

1、卸载Docker Engine,CLI和Containerd软件包:

$ sudo yum remove docker-ce docker-ce-cli containerd.io

2、主机上的映像,容器,卷或自定义配置文件不会自动删除。要删除所有图像,容器和卷:

$ sudo rm -rf /var/lib/docker

必须手动删除所有已编辑的配置文件。

配置阿里镜像加速

1、准备工作

在这里插入图片描述
在这里插入图片描述

2、配置Docker配置文件,镜像加速

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["你的加速地址"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

在这里插入图片描述
在这里插入图片描述

二、Docker运行流程

在这里插入图片描述

Docker底层原理

1、Docker是如何运行的

在这里插入图片描述

2、Docker为什么比虚拟机快

1、Docker有着比虚拟机更少的抽象层
2、Docker用的是宿主机的内核,不用重新加载一个操作系统的内核

在这里插入图片描述

Docker容器虚拟机(VM)
操作系统与宿主机共享OS宿主机OS上运行宿主机OS
存储大小镜像小,便于存储与传输镜像庞大(vmdk等)
运行性能几乎无额外性能损失操作系统额外的cpu、内存消耗
移植性轻便、灵活、适用于Linux笨重、与虚拟化技术耦合度高
硬件亲和性面向软件开发者面向硬件运维者

三、Docker常用命令

1、帮助命令:

docker version   #查看版本信息
docker info         #显示docker镜像容器信息
docker --help      #查看Docker命令

在这里插入图片描述

2、镜像的基本命令

1、查看本地镜像
docker images [OPTIONS] [REPOSITORY[:TAG]]

在这里插入图片描述
在这里插入图片描述

2、搜索镜像
docker search [OPTIONS] TERM

在这里插入图片描述
在这里插入图片描述

3、下载镜像
docker pull [OPTIONS] NAME[:TAG|@DIGEST]tag:版本

在这里插入图片描述

4、删除镜像
1、删除指定镜像
docker rmi -f 镜像ID/镜像名称
2、删除全部镜像
docker rmi -f $(docker images -aq) #删除全部镜像

在这里插入图片描述

3、容器的基本命令

有了镜像才可以创建容器

1、新建容器并启动
docker run [可选参数] image

参数:

--name-"Name"    容器名称,用来区分容器
-d                            后台方式运行
-it                            指定容器的端口
-p                            指定容器的端口    -p 8080:8080
-p 主机端口:容器端口
-p 容器端口
容器端口
-p                            随机指定端口
2、进入容器
docker run -it 镜像名 /bin/bash(启动目录)

在这里插入图片描述

3、退出容器

不停止容器,退出

Ctrl+p+q

停止退出

exit
4、查看容器进程
docker ps

在这里插入图片描述

5、删除容器
docker rm 容器ID                        #不能删除在运行的容器
docker rm -f $(docker ps -aq)   #删除所有的容器
6、启动停止容器
docker start 容器ID
docker restart 容器ID #重启
docker stop 容器ID
docker kill 容器ID    强制停止

在这里插入图片描述

7、其他命令
docker run -d 镜像
#docker 后台运行 必须要有一个前台进程,如果没有前台应用就会自动停止

查看日志

docker logs

查看进程

docker top 容器id

查看进程元数据

docker inspect 容器id

从容器拷贝文件到主机

docker cp 容器id:容器内的路径  目前主机路径

在这里插入图片描述

可视面板

文档:https://hub.docker.com/r/portainer/portainer

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐