目录
1.Docker概述
Docker是一个开源的容器化平台,用于轻松部署、管理和运行应用程序。Docker容器可以轻松打包应用程序及其依赖项,并在任何环境中快速部署。它基于Linux操作系统的容器技术,可以将应用程序、库、系统工具和其他依赖项封装在容器中,从而实现跨平台的部署和运行。
1.2Docker优点:
-
轻量级:Docker容器是基于Linux内核的虚拟化技术,相比于传统虚拟机,Docker容器占用资源更少。
-
快速启动:Docker容器可以在几秒钟内启动,而传统虚拟机需要几分钟的时间。
-
可移植性:Docker容器可以在多个平台上运行,无需担心依赖问题。
-
管理方便:Docker提供了一系列命令,方便用户管理容器,如Dockerfile、docker-compose等。
-
隔离性:Docker容器之间是隔离的,不会相互干扰,实现了一定程度上的安全隔离。
-
增量更新:Docker容器是增量更新,仅需要更新变化的部分,大大降低了更新的时间和成本。
1.3 Docker的组成
Docker的基本组成包括以下几个部分:
-
Docker Engine:Docker引擎是Docker的核心组件,它可以管理整个Docker容器的生命周期,从创建到运行和销毁。
-
Docker镜像(Image):Docker镜像是Docker容器的静态文件,其中包含了运行容器所需要的所有文件、配置信息和程序等。
-
Docker容器(Container):Docker容器是镜像的实例化,是一个独立的、可运行的应用程序单位,可以在其中运行特定版本的应用程序。
-
Docker仓库(Registry):Docker仓库是集中存储和管理Docker镜像的地方,可以将自己创建的Docker镜像上传到公共或私有的Docker仓库中。
-
Docker网络(Network):Docker网络是容器间进行通信和外部网络连接的桥梁,可以为每个Docker容器分配独立的IP地址,并使用不同的网络协议进行通信。
-
Docker数据卷(Volume):Docker数据卷是指将文件或目录直接映射到主机或其他容器中的特殊文件系统,可以让容器之间共享数据,并且在容器销毁后数据仍然保留。
2.实验
2.1 Docker 安装
前提条件
目前,CentOS 仅发行版本中的内核支持 Docker。Docker 运行在CentOS 7
(64-bit)上,要求系统为64位、Linux系统内核版本为 3.8以上。
- 查看centos版本
cat /etc/redhat-release
- 查看虚拟机的内核
uname -r
uname命令用于打印当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)
- yum安装gcc相关(确保虚拟机能上网)
yum -y install gcc
yum -y install gcc-c++
- 安装Docker需要安装的软件包
yum install -y yum-utils
- 设置stable镜像仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 更新yum软件包索引
yum makecache fast
- 安装DOCKER CE
yum -y install docker-ce docker-ce-cli containerd.io
- 启动docker
systemctl start docker
- 运行hello-world镜像
docker run hello-world
2.2 阿里云镜像加速
- 登陆阿里云开发者平台选择容器镜像服务
- 点击免费试用
- 选择镜像加速器
- 配置镜像加速器
- 回到虚拟机粘贴第4步框选的命令
{
"registry-mirrors": ["https://{自已的编码}.mirror.aliyuncs.com"]
}
- 激活配置文件 重启服务器
systemctl daemon-reload
systemctl restart docker
- 运行hello-world镜像进行测试
2.3 Docker常用命令
2.3.1帮助启动类命令
启动docker: systemctl start docker
停止docker: systemctl stop docker
重启docker: systemctl restart docker
查看docker状态: systemctl status docker
开机启动: systemctl enable docker
查看docker概要信息: docker info
查看docker总体帮助文档: docker --help
查看docker命令帮助文档: docker 具体命令 --help
2.3.2镜像命令
查找镜像
docker search 镜像名字
下载镜像、查看本机镜像文件
- 下载镜像命令说明
docker pull 镜像名字[:TAG]
docker pull 镜像名字
没有TAG就是最新版
docker pull 镜像名字:latest
- 列出本机镜像文件命令说明
docker images
删除镜像文件
docker rmi -f 镜像ID
- 删除多个镜像
docker rmi -f 镜像名1:TAG 镜像名2:TAG
- 删除全部镜像
docker rmi -f $(docker images -qa)
2.3.3容器命令
有镜像才能创建容器, 这是根本前提
启动容器
docker run -it ubuntu /bin/bash
退出容器
- 两种退出方式
exit
run进去容器,exit退出,容器停止
ctrl+p+q
run进去容器,ctrl+p+q退出,容器不停止
列出正在运行的容器
docker ps
3.实验(将增加新功能的镜像文件上传到阿里云)
3.1 ubuntu安装vim
- 运行ubuntu镜像
- 更新操作系统的软件包列表
- 在ubuntu上安装vim
- 创建增加vim功能的镜像
- 查看前后对比
- 启动新镜像并测试vim是否能使用
3.2 将本地镜像推送到阿里云
-
登陆阿里云平台找到并创建个人实例
-
创建命名空间
-
创建镜像仓库
-
进入管理界面
-
设置访问凭证密码
-
在虚拟机登陆阿里云Docker Registry
-
将镜像推送到Registry
-
将上传的本地的镜像删除
-
从Registry中拉取镜像
-
启动镜像并测试
4.总结
4.1 docker安装部署学习总结
Docker是一个开源的容器化平台,可以将应用程序及其依赖项打包成一个容器,从而方便地在不同的环境中运行。本篇文章将重点介绍Docker的安装部署及命令学习总结。
一、安装部署
1.安装Docker
要安装Docker,可以使用以下命令(适用于Ubuntu):
sudo apt-get update
sudo apt-get install docker-ce
2.启动Docker
安装完Docker后,使用以下命令启动Docker:
sudo systemctl start docker
3.检查Docker版本
可以使用以下命令检查Docker版本:
docker version
4.检查Docker是否成功安装
可以使用以下命令检查Docker是否成功安装:
docker run hello-world
如果成功安装,将会出现以下提示:
Hello from Docker!
This message shows that your installation appears to be working correctly.
二、命令学习总结
- Docker镜像相关命令
- 搜索镜像:
docker search [镜像名]
- 下载镜像:
docker pull [镜像名]
- 列出本地镜像:
docker images
- 删除本地镜像:
docker rmi [镜像ID]
- 创建镜像:
docker build -t [镜像名] [Dockerfile路径]
- 将本地镜像导出到文件:
docker save [镜像名] > [文件名]
- 从文件中导入镜像:
docker load < [文件名]
- 推送镜像至Docker Hub:
docker push [镜像名]
- Docker容器相关命令
- 创建容器:
docker create [镜像名]
- 启动容器:
docker start [容器ID]
或docker start [容器名]
- 停止容器:
docker stop [容器ID]
或docker stop [容器名]
- 查看容器列表:
docker ps
- 查看所有容器列表(包括已停止的):
docker ps -a
- 删除容器:
docker rm [容器ID]
或docker rm [容器名]
- 进入容器:
docker exec -it [容器ID] /bin/bash
- Docker日志相关命令
- 查看容器日志:
docker logs [容器ID]
- 实时查看容器日志:
docker logs -f [容器ID]
- 查看容器内部进程:
docker top [容器ID]
- 查看容器资源使用情况:
docker stats [容器ID]
- Docker网络相关命令
- 列出网络:
docker network ls
- 查看网络详细信息:
docker network inspect [网络名]
- 创建网络:
docker network create [网络名]
- 连接网络:
docker network connect [网络名] [容器名]
- 断开网络:
docker network disconnect [网络名] [容器名]
总结
Docker作为一种新兴的技术,其应用范围越来越广泛,学习并掌握Docker的安装部署及命令非常重要。本篇文章对Docker的安装部署及命令学习进行了总结,希望能对大家的学习有所帮助。
4.2 创建一个带有新功能镜像发布到阿里云学习总结
创建新功能镜像的步骤如下:
- 在本地机器上安装 Docker 并启动 Docker 服务。
- 编写 Dockerfile 文件,描述镜像的构建过程,包括基础镜像、软件安装、配置等。可以使用官方仓库中的镜像作为基础镜像,也可以使用其他镜像,如 Alpine、Ubuntu、CentOS 等。
- 在 Dockerfile 文件所在的目录下执行
docker build
命令,构建镜像。例如:docker build -t my-image:1.0 .
- 镜像构建完成后,使用
docker run
命令启动容器,并验证新功能是否正常运行。例如:docker run -it my-image:1.0
- 如果一切正常,可以将镜像发布到 Docker Hub 或其他镜像仓库中。
发布到阿里云学习总结的步骤如下:
- 在阿里云控制台中创建一个容器镜像服务(Container Registry)实例。
- 在本地机器上安装 Docker 客户端,并登录到容器镜像服务实例。例如:
docker login registry.cn-hangzhou.aliyuncs.com
- 使用
docker tag
命令给镜像打上标签,将镜像名称改为可用于容器镜像服务中的格式。例如:docker tag my-image:1.0 registry.cn-hangzhou.aliyuncs.com/my-project/my-image:1.0
- 使用
docker push
命令将镜像推送到容器镜像服务中。例如:docker push registry.cn-hangzhou.aliyuncs.com/my-project/my-image:1.0