一、环境配置
确保Linux安全策略、防火墙有关闭
主机名、时间同步、源有做配置
二、安装docker
首先对docker技术做一个介绍:
Docker 是一种开源的容器化平台,允许开发者将应用程序及其依赖项打包到一个轻量级、可移植的容器中。通过容器化技术,Docker 解决了开发、测试和部署环境不一致的问题,使应用程序能够在任何环境中一致运行。
### 核心概念
1. **容器(Container)**
容器是一个独立的运行环境,包含应用程序及其所有依赖(如库、配置文件等)。它基于镜像运行,与其他容器隔离,共享主机操作系统的内核。
2. **镜像(Image)**
镜像是容器的模板,包含运行应用程序所需的代码、库和配置文件。镜像是只读的,可以通过 Dockerfile 创建。
3. **Dockerfile**
Dockerfile 是一个文本文件,包含构建镜像的指令。通过 `docker build` 命令,Docker 会根据 Dockerfile 生成镜像。
4. **仓库(Registry)**
仓库用于存储和分发镜像。Docker Hub 是默认的公共仓库,用户也可以搭建私有仓库。
5. **Docker Engine**
Docker Engine 是 Docker 的核心组件,负责创建和管理容器。它包括 Docker 守护进程(Docker Daemon)和客户端(Docker CLI)。
### 主要优势
1. **环境一致性**
容器确保应用程序在不同环境中运行一致,避免“在我机器上能运行”的问题。
2. **轻量高效**
容器共享主机内核,比虚拟机更轻量,启动更快,资源占用更少。
3. **可移植性**
容器可以在任何支持 Docker 的平台上运行,简化了跨平台部署。
4. **快速部署与扩展**
Docker 支持快速部署和扩展,结合 Kubernetes 等工具,可以轻松管理大规模容器化应用。
### 基本命令
- `docker run <image>`:运行容器。
- `docker build -t <image_name> .`:构建镜像。
- `docker ps`:查看运行中的容器。
- `docker images`:列出本地镜像。
- `docker pull <image>`:从仓库拉取镜像。
- `docker push <image>`:推送镜像到仓库。
### 应用场景
1. **微服务架构**
Docker 适合微服务架构,每个服务可以独立打包和部署。
2. **持续集成/持续部署(CI/CD)**
Docker 简化了 CI/CD 流程,确保开发、测试和生产环境一致。
3. **开发环境隔离**
开发者可以为每个项目创建独立的容器环境,避免依赖冲突。
4. **云原生应用**
Docker 是云原生应用的基础,常与 Kubernetes 等工具结合使用。
### 总结
Docker 通过容器化技术简化了应用程序的开发、部署和管理,提升了效率和一致性,成为现代软件开发和运维的重要工具。
docker部署:
[root@cjr ~]# yum -y install yum-utils
[root@cjr yum.repos.d]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@cjr yum.repos.d]# yum clean all && yum makecache
[root@cjr ~]# modprobe br_netfilter
[root@cjr ~]# cat /etc/sysctl.d/docker.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
前两个组件的功能:因为Linux内核在处理网络层面的东西时需要对数据包做一个处理和过滤,所以需要开启ipv4和ipv6的一个hook,然后像k8s如果在使用到网络插件的时候,也需要Linux内核这样子来结果iptable的一个过滤,从而实现网络的一个正常通信
[root@cjr ~]# yum -y install docker-24.0.6
最后启动一下docker服务和查看状态即可