一、Docker简介
Docker 是一种轻量级的容器化技术,允许开发者在容器中打包、交付和运行应用程序及其所有依赖项。Docker 利用容器技术,将应用程序和其依赖项封装在一个独立的单元中,这样可以确保应用在不同环境中的一致性和可移植性。Docker 主要由 Docker Engine、Docker Hub 和 Docker Compose 组成。
主要概念和组件:
- Docker 镜像(Docker Image): Docker 镜像是一个轻量、独立、可执行的软件包,包含运行应用程序所需的一切,包括代码、运行时、库、环境变量和配置文件。Docker 镜像是用于创建 Docker 容器的基础。
- Docker 容器(Docker Container): Docker 容器是 Docker 镜像的运行实例。容器提供了一个隔离的执行环境,其中应用程序可以在不同的环境中运行,而不会受到底层系统的影响。容器是轻量的、可移植的,并且可以在不同的环境中快速部署。
- Docker 引擎(Docker Engine): Docker 引擎是一个用于构建和运行容器的开源容器化技术。它包括一个守护进程(
dockerd)和一组用于构建和管理容器的命令行工具。Docker 引擎利用 Linux 内核中的容器技术,实现了高效的容器化。 - Docker Hub: Docker Hub 是一个用于存储和分享 Docker 镜像的在线仓库。开发者可以在 Docker Hub 上找到公共镜像,也可以上传和分享自己的镜像。这样可以方便地共享和重用容器化的应用程序组件。
- Docker Compose: Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。通过一个简单的 YAML 文件描述应用程序的服务、网络和卷,Docker Compose 可以一次性启动、关闭和管理整个应用程序的容器集合。
Docker 的优势:
- 轻量和快速启动: Docker 容器是轻量的,可以快速启动和停止,提高了应用程序的可伸缩性和灵活性。
- 一致的运行环境: Docker 容器包含应用程序和所有依赖项,确保应用在不同的环境中运行一致性,避免了“在我的机器上可以工作”问题。
- 资源隔离和安全性: Docker 提供了强大的隔离性,每个容器都运行在一个独立的命名空间中,避免了与宿主系统和其他容器的冲突。
- 易于部署和扩展: Docker 镜像可以在不同的环境中轻松部署,而 Docker Compose 简化了多容器应用程序的管理和扩展。
- 生态系统和社区支持: Docker 拥有强大的生态系统,有大量的公共镜像可用于使用,并有活跃的社区支持。
使用场景:
- 微服务架构: Docker 提供了轻量级、可伸缩的容器,非常适合构建和部署微服务架构。
- 持续集成和持续部署: Docker 可以在不同的环境中提供一致的构建和部署流程,适用于持续集成和持续部署。
- 开发和测试环境隔离: Docker 容器可以在开发和测试环境中提供隔离,确保开发人员和测试人员使用相同的运行环境。
- 快速应用程序交付: Docker 可以加速应用程序的交付过程,简化部署,并提高应用程序的可移植性。
二、Centos7安装Docker
【环境配置】
1、通过 uname -r 命令查看你当前的内核版本
2、使用 root 权限登录 Centos。确保 yum 包更新到最新。 yum update -y
3、卸载旧版本(如果安装过旧版本的话)
yum remove docker docker-common docker-selinux docker-engine
4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
5、设置yum源地址
yum-config-manager --add-repo download.docker.com/linux/cento…
5.1、设置阿里云镜像地址
yum-config-manager --add-repo mirrors.aliyun.com/docker-ce/l…
6、 安装最新版本的Docker
yum install docker-ce docker-ce-cli containerd.io -y -y
7、启动Docker并且设置开机自启动
systemctl start docker
systemctl enable docker
8、检测Docker是否安装成功
docker version
三、Docker阿里云镜像仓库配置
1 ,登录进入阿里云镜像服务中心,获取镜像地址
进入阿里云容器镜像服务地址:
cr.console.aliyun.com/cn-hangzhou…
vi daemon.json
这一段写入,写入完成运行花括号下的2行命令。
四、常用命令
基本命令
启动Docker
systemctl start docker
停止Docker
systemctl stop docker
重启Docker
systemctl restart docker
开机启动Docker
systemctl enable docker
查看Docker概要信息
docker info
查看Docker帮助文档
docker --help
查看Docker版本信息
docker version
镜像命令
docker images 列出本机所有镜像
docker images
docker search 搜索镜像
docker pull 、 docker push 下载镜像
删除镜像
docker rmi
docker rmi -f**
容器命令
新增
docker run
docker run -di
docker run -it
docker run --name
查询
docker ps
docker ps -a
删除
docker rm
docker rm -f
进入容器
docker exec -it tomcat1 /bin/bash
--name="容器新名字":为容器指定一个名称;
-i:以交互模式运行容器,通常与-t或者-d同时使用;
-t:为容器重新分配一个伪输入终端,通常与-i同时使用;
-d: 后台运行容器,并返回容器ID;
-P: 随机端口映射,容器内部端口随机映射到主机的端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口