Docker认识即安装

Docker 及相关概念

Docker和虚拟机方式的区别:虚拟机技术是虚拟出一套硬件后,在其上运行一个完整的操作系统,在该系统上在运行所需应用进程;而容器内的应用进程是直接运行于宿主的内核,容器内没有自己的内核,uefa没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。

Docker镜像

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

Docker容器

镜像是静态的文件,容器是镜像运行是的实体,容器可以被创建、启动、停止、删除、暂停等。容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的命名空间。

Docker Registry

集中的存储、分发镜像的服务,一个 Docker Registry 中可以包含多个仓库( Repository);每个仓库可以包含多个标签( Tag);每个标签对应一个镜像。我们可以通过 <仓库名>:<标签> 的格式来指定具体是这个软件哪个版本的镜像。以 Ubuntu 镜像 为例, ubuntu 是仓库的名字,其内包含有不同的版本标签,如,14.04,16.04 。 我们可以通过 ubuntu:14.04 ,或者 ubuntu:16.04 来具体指定所需哪个版本的镜像。 常使用的 Registry 公开服务是官方的 Docker Hub, 这也是默认的 Registry。

Docker 划分为CE和EE。CE即社区版( 免费,支持周期三个月),EE即企业版,强调安全,付费使用。

ubuntu 安装 Docker

卸载旧版本docker

bash 复制代码
sudo apt-get remove docker docker-engine docker.io

更新软件包列表:

bash 复制代码
apt-get update

接下来,安装一些必备软件包,让 apt 通过 HTTPS 使用软件包

bash 复制代码
apt install apt-transport-https ca-certificates curl software-properties-common

然后将官方 Docker 版本库的 GPG 密钥添加到系统中

bash 复制代码
​curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

将 Docker 版本库添加到APT源,即向source.list文件中添加Docker软件源。

bash 复制代码
sudo add-apt-repository "deb [arch=amd64] Index of linux/ubuntu/ focal stable"

接下来,我们用新添加的 Docker 软件包来进行升级更新

bash 复制代码
apt update

确保要从 Docker 版本库,而不是默认的 Ubuntu 版本库进行安装

bash 复制代码
apt-cache policy docker-ce

最后,安装 Docker

bash 复制代码
apt install docker-ce

启动docker服务

bash 复制代码
service docker start

如无法访问外网,也可使用国内源, 4 5 步命令如下

bash 复制代码
​curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

sudo add-apt-repository "deb [arch=amd64] Index of /docker-ce/linux/ubuntu/ $(lsb_release -cs) stable"

阿里云镜像加速器

修改daemon配置文件/etc/docker/daemon.json来使用加速器

bash 复制代码
​sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://htqwhg38.mirror.aliyuncs.com"]
}
EOF

重启Docker

bash 复制代码
sudo systemctl daemon-reload
sudo systemctl restart docker
相关推荐
最数据6 分钟前
Linux或者Docker中时区查询和修改(差8小时问题)
linux·运维·服务器·docker·.net
Ch.yang1 小时前
【Docker】Centos7 Jenkins 踩坑笔记
docker
亚林瓜子1 小时前
BC-Linux8.6上面离线手动安装Docker引擎
linux·运维·docker·容器·bc-linux
jjw_zyfx1 小时前
docker 的各种操作
java·docker·eureka
kaiyuanheshang10 小时前
docker 中的entrypoint和cmd指令
运维·docker·容器·cmd·entrypoint
Python私教11 小时前
除了 Docker,还有哪些类似的容器技术?
运维·docker·容器
杨浦老苏13 小时前
开源无代码网络数据提取平台Maxun
低代码·docker·群晖
hummhumm15 小时前
第33章 - Go语言 云原生开发
java·开发语言·后端·python·sql·云原生·golang
petaexpress15 小时前
5种常见的k8s云原生数据管理方案详解
云原生·kubernetes·k8s云原生
wenyue112116 小时前
云原生开发框架
数据库·云原生