第一篇docker01

一、docker由来、发展

1、什么是容器?什么是docker?它们之间的关系?

linux容器:把需要的资源(如主机名、IP、别名、文件系统、进程树登),隔离出来;互不干扰;

docker:是一种管理容器的技术;LXC也是一种容器的管理技术;

二、docker安装和体系结构

1、docker 的安装(外网)

1.1 yum源准备
curl  http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
1.2 安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
yum list docker-ce.x86_64 --showduplicates | sort -r
yum install -y docker-ce
1.3 安装docker-ce
yum install -y --setopt=obsoletes=0 \
docker-ce-17.03.2.ce-1.el7.centos.x86_64 \
docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch
1.4 启动docker服务
systemctl daemon-reload
systemctl restart docker
docker version
docker info
1.5 配置镜像加速
阿里云Docker-hub
https://cr.console.aliyun.com/cn-hangzhou/mirrors

mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://uoggbpok.mirror.aliyuncs.com"]
}
EOF

systemctl daemon-reload
systemctl restart docker

 2、docker的体系结构

docker由三部分组成:远程仓库(registry)、本地镜像(images)、容器(container);

 

 

docker daemon:提供docker的引擎功能(即容器管理功能);

container:管理这些容器的功能;

images:维护本地存储镜像的仓库;

registry:官方的存放一些images文件,包含所有的镜像索引和验证的一些功能;(例如:1、提供了用户验证,有的镜像服务器是私有的,需要用户密码才能获取;2、提供了镜像索引,用来快速查找某个镜像;3、提供了 镜像的存储;)

三、docker的镜像基础管理

3.1 获取镜像

docker search centos //搜索centos的镜像
docker pull centos:7.8.2003 //下载7.8的centos镜像
docker pull nginx //无版本号,默认下载最新版的nginx镜像
docker images ls  //查看本地已有的镜像

3.2 镜像的查看和解释

 

 上面的centos 6.8/6.9 这个是官方提供的;oldguo/centos_sshd v1.0等这个是私人提供的,并push推到docker hub上的;

TAG:标识每一个镜像的版本;

IMAGE ID:标识镜像的唯一性。(sha256:64位号码,默认只截取12位);

//镜像的详细查看二种方式
docker image ls --no-trunc  //方式一:详细查看具体的image id
docker image inspect centos:7.8.2003 //方式二:后加镜像版本
docker image inspect 82f3b5f3c58f     //方式二:后加镜像id
//或者 只查看镜像的ID
docker image ls -q

 3.3 镜像的导入导出

使用场景:适用于公司的基础镜像,如果本地已经搭建好了仓库,就不需要这一步骤了。仅仅使用本地没有仓库,别人也不想去pull,我们需要做一些分发。

//案例:以ubuntu的镜像为例,把ubuntu的镜像发到一个 /tmp/ 一个位置,别的机器下载好导入一下就好;
//操作步骤
docker image save fb52e22af1b0 >/tmp/ubuntu.tar  //①导入镜像到/tmp目录下,名字为ubuntu.tar
ll /tmp/ubuntu.tar //②进入/opt/下查看

 ③自己在内网种搭建一个下载服务器:ftp服务器或者http
docker image rm fb52e22af1b0 //④先删除本地ubuntu的镜像,一会再导入,方便演示

docker image load -i /tmp/ubuntu.tar //⑤找到下载好的tar位置,进行导入

docker image ls //⑥此时再次查看本地的docker镜像,只是没有名字
docker image tag fb52e22af1b0 ubuntu:latest //⑦手动给刚才的镜像起一个标签

3.4 镜像的删除

docker image rm -f 3556258649b2  //方式一:正常删除;如果要删除的
//像被别人依赖,可能会报一些错误。

docker image rm -f `docker image ls -q`  //方式二:全部删除镜像

 

posted @ 2021-11-12 17:03  菜鸟不想早飞  阅读(22)  评论(0)    收藏  举报