docker基础容器技术发展
1.什么是容器?
容器就是在隔离环境运行的一个进程,如果进程停止,容器就会销毁。隔离的环境拥有自己的文件系统,ip地址,主机名等。
2.容器和虚拟化的区别
-
linux容器技术,容器虚拟化和kvm虚拟化的区别
-
kvm虚拟化:需要硬件的支持,需要模拟硬件,可以运行不同的操作系统,启动时间分钟等级(开机启动流程)
-
linux开机启动流程
-
bios开机硬件自检
-
docker是基于Go语言开发的!
3.docker官网文档地址
官方:https://www.docker.com
文档地址:https://docs.docker.com
仓库地址:https://hub.docker.com
4.docker基本组成
镜像(image):docker镜像就好比一个模板,可以通过这个模板来创建容器,通过镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的)
容器(container):docker利用容器技术,独立运行一个或者一组应用,通过镜像来创建的。
仓库(repository):仓库是存储镜像的地方。
仓库分为公有仓库和私有仓库
5.安装docker
5.1.调整系统环境
环境准备 Centos 7
环境查看
#系统内核是3.10以上的
[root@localhost ~]# uname -r
3.10.0-1127.el7.x86_64
系统版本
#系统版本
[root@localhost ~]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
5.2.准备工作
官方地址:https://docs.docker.com/engine/install/centos/
根据官方文档来,我们先卸载旧的环境
1.#卸载之前的环境
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2.#操作演示
#执行完成
[root@localhost ~]# yum remove docker \
> docker-client \
> docker-client-latest \
> docker-common \
> docker-latest \
> docker-latest-logrotate \
> docker-logrotate \
> docker-engine
Loaded plugins: fastestmirror, langpacks
No Match for argument: docker
No Match for argument: docker-client
No Match for argument: docker-client-latest
No Match for argument: docker-common
No Match for argument: docker-latest
No Match for argument: docker-latest-logrotate
No Match for argument: docker-logrotate
No Match for argument: docker-engine
No Packages marked for removal
5.3.下载所需的插件
#自行安装一下
yum install -y yum-utils
5.4.下载镜像仓库
#推荐使用阿里云的镜像
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#方法二
[root@localhost yum.repos.d]# curl -o /etc/yum.repos.d/docker.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新yum的索引
[root@localhost yum.repos.d]# yum makecache fast
5.5.安装docker
#ce是企业版 ee是社区版 我们用yum安装一下
[root@localhost ~]# yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
使用docker verison查看是否安装成功
5.6.启动docker
#安装完成启动docker
[root@localhost yum.repos.d]# systemctl start docker
5.7.hello-world 命令
[root@localhost yum.repos.d]# docker run hello-world
5.7.1.查看hello-world拉取回来的镜像
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest feb5d9fea6a5 14 months ago 13.3kB
5.7.2.docker的默认工作路径
[root@localhost ~]# cd /var/lib/docker/
[root@localhost docker]# ls
buildkit image overlay2 runtimes tmp volumes
containers network plugins swarm trust
6.测试安装服务
6.1.安装nginx
使用run命令下载nginx
[root@localhost ~]# docker run -d -p 80:80 nginx
6.1.1.查看nginx是否成果
7.docker基础命令
7.1.搜索镜像命令-search
docker search
seacrh是搜索镜像的命令
7.2.获取镜像命令-pull
docker pull
pull是获取镜像的命令
7.3.配置镜像加速
需要自己创建文件
[root@localhost docker]# cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
配置完成后重启docker
[root@localhost docker]# systemctl restart docker
7.4.查看镜像命令-image
dokcer image ls
[root@localhost docker]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 3f8a00f137a0 28 hours ago 142MB
hello-world latest feb5d9fea6a5 16 months ago 13.3kB
[root@localhost docker]#
7.5.镜像导出命令-save
从已经下载好的镜像仓库中导出镜像
[root@localhost docker]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 3f8a00f137a0 28 hours ago 142MB
hello-world latest feb5d9fea6a5 16 months ago 13.3kB
[root@localhost docker]# docker save nginx > /root/nginx.tar
[root@localhost docker]# ls /root/nginx.tar
/root/nginx.tar
[root@localhost docker]#
7.6.镜像删除命令-docker image rm
使用dokcer image ls 查询镜像
docker image rm 镜像名 可以删除镜像
7.7.镜像导入命令-docker load -i
docker load -i 镜像名 可以导入镜像
docker image -i 镜像名 可以导入镜像