docker no1.

什么是虚拟化?

虚拟化主要的目的主要是 更好利用高性能机器

全虚拟化架构!

在这里插入图片描述

操作系统层的虚拟化

在这里插入图片描述

平台虚拟化

在这里插入图片描述

hypervisor

在这里插入图片描述

docker的引入:

在这里插入图片描述

docker的介绍:

Docker时Docker.Lnc公司开源的一个基于LXC技术之上搭建的Container容器引擎,源代码托管在Github上,基于Go语言并遵从Apache2.0协议开源。
Docker属于Linux容器的一种封装,提供简单易用的容器使用接口。
Docker将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了Docker,就不用担心环境问题。
总体来说,Docker的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。

docker特性

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

docker的安装

点我进入docker官方地址

这里安装center os版本的:https://docs.docker.com/install/linux/docker-ce/centos/

分为企业版和社区版

这里我使用的是center os8
所以报错误信息:

扫描二维码关注公众号,回复: 10558782 查看本文章

package docker-ce-3:19.03.7-3.el7.x86_64 requires containerd.io >=
1.2.2-3, but none of the providers can be installed

在这里插入图片描述
看上面的内容,说的是containerd.io >= 1.2.2-3 ,意思就是 containerd.io 的版本必须大于等于 1.2.2-3
解决
1、要么就降低docker 的版本

2、如果不想降低docker 版本,那么就更新 containerd.io 的版本

dnf install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm

最好更新为阿里云镜像仓库

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo

在这里插入图片描述
再次执行安装docker

yum install docker-ce docker-ce-cli

又出现个问题

docker-ce-cli-1安装中的文件/usr/share/man/man1/docker-attach.1.gz:19.03.7-3.el7.x86ʂ与包podman-manpages-1.4.2-5中的文件冲突。module_el8.1.0+237+63e26edc.noarch

与包podman-manpages-1.4.2-5中的文件冲突。
在这里插入图片描述
解决:

yum list podman-manpages  #查看 podman-manpages
yum remove podman-manpages.noarch  #卸载podman-manpages.noarch

安装:

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

安装完成:
在这里插入图片描述

启动docker

sudo systemctl start docker

docker --version

设置开机启动

sudo systemctl enable docker

docker的架构

在这里插入图片描述

docker的一些命令

查看帮助命令:docker - help
启动docker:sudo systemctl start docker
查看运行状态:systemctl status docker
停止运行状态:systemctl stop docker
重启运行状态:systemctl restart docker

常用的:
列出镜像 docker images
在这里插入图片描述
拉取镜像 docker pull xx

在这里插入图片描述

在这里插入图片描述

查询镜像是否存在:

docker search images

删除镜像 docker rmi xx

如果拉取比较慢可以用镜像加速器:

在这里插入图片描述

标题创建一个容器:

创建一个交互式容器:

docker run -i -t --name=c1 centeros/bin/bash

在这里插入图片描述

退出交互式容器 exit
查看正在运行的容器 docker ps
交互式容器就是exit退出即消失.

创建一个守护式容器:

docker run -d --name c2 centeros /bin/bash
在这里插入图片描述
创建命令:docker run -itd --name c3 centeros /bin/bash
进入命令: docker exec -it c3 /bin/bash
但是这个exit是没有退出的

如何停止容器:
docker stop 容器名称
如何停止容器:
docker start 容器名称
如何重启容器:
docker restart 容器名称

查看容器的具体信息:
docker inspect c3

删除容器:
docker rmi 容器名称或者id

这个删除是需要容器不再运行 否则不能删除成功

查看容器日志:
docker logs 容器名称或者id

文件拷贝:
在这里插入图片描述
docker cp 1.txt c2:/root

目录挂载:
在这里插入图片描述
由上图可知 目录挂载解决进入容器修改配置文件的过程,他其实是将容器下面的文件映射到主机

在这里插入图片描述

发布了76 篇原创文章 · 获赞 9 · 访问量 6754

猜你喜欢

转载自blog.csdn.net/qq_37870369/article/details/104768836