1. 环境准备
- CentOS版本确认:确认当前操作系统为CentOS 7.9。
- 进入yum仓库目录:进入
/etc/yum.repos.d/
目录,准备替换默认的yum仓库。 - 替换yum仓库:删除原有仓库文件,并添加阿里云的CentOS 7仓库。
2. 安装Docker
- 安装yum-utils:通过
yum install yum-utils -y
安装yum工具。 - 添加Docker仓库:使用
yum-config-manager
添加Docker的官方仓库。 - 生成缓存并安装Docker:通过
yum makecache fast
和yum install docker-ce -y
安装Docker。 - 启动Docker并设置开机启动:使用
systemctl start docker
和systemctl enable docker
命令。
3. 运行Docker容器
- 加载nginx镜像:通过
docker load -i nginx.tar
加载nginx镜像。 - 启动nginx容器:使用
docker run
命令启动nginx容器,并设置端口映射、容器名、CPU和内存限制。
4. 配置阿里云ECS服务器
- 确认系统信息:确认ECS服务器操作系统为Ubuntu 20.04 LTS。
- 创建Docker卷:通过
docker volume create
命令创建用于存放MySQL数据的卷。 - 启动MySQL容器:使用
docker run
命令启动MySQL容器,并挂载之前创建的卷。 - 配置安全组:在阿里云控制台中开放相应端口,以便远程访问MySQL服务器。
5. Go语言环境准备
- 解压Go项目:解压包含Go项目代码的压缩包。
- 修改数据库配置:编辑
server.go
文件,修改数据库连接配置为ECS上MySQL服务器的公网地址和端口。 - 安装Go环境:通过
yum
安装Go语言开发环境。
6. 部署Go Web应用
- (此部分笔记未详细展开):理论上,接下来应该包括构建Go项目、创建Dockerfile、构建Docker镜像、运行Docker容器等步骤。
7. NFS共享存储配置
- 安装NFS服务:在NFS服务器上安装NFS服务,并设置共享目录。
- 配置客户端:在Docker宿主机上安装NFS客户端工具,并挂载NFS共享目录。
- 创建Docker卷:使用NFS共享目录作为Docker卷的后端存储。
- 启动容器:启动Docker容器,并挂载该NFS卷。
8. 测试和验证
- 访问Web应用:通过浏览器或curl命令访问部署的Web应用,验证应用是否正常运行。
- 数据库访问测试:使用MySQL客户端工具连接远程MySQL服务器,验证数据库连接是否正常。
9、Docker镜像操作
Docker镜像操作包括搜索、拉取、查看、删除等操作:
- 搜索镜像:使用
docker search [镜像名]
命令搜索Docker Hub上的镜像。 - 拉取镜像:使用
docker pull [镜像名]:[标签]
命令从Docker Hub或其他仓库拉取镜像。 - 查看镜像:使用
docker images
命令查看本地已下载的镜像列表。 - 删除镜像:使用
docker rmi [镜像ID或镜像名]
命令删除不再需要的镜像。
10、Docker容器操作
Docker容器是Docker镜像的运行实例,容器操作包括创建、启动、停止、删除等:
- 创建并启动容器:使用
docker run [选项] [镜像名]
命令创建并启动一个新的容器。常用选项包括-d
(后台运行)、-p
(端口映射)、-v
(卷挂载)等。 - 查看容器:使用
docker ps
命令查看正在运行的容器列表,使用docker ps -a
查看所有容器(包括未运行的)。 - 停止和启动容器:使用
docker stop [容器ID或容器名]
命令停止容器,使用docker start [容器ID或容器名]
命令启动容器。 - 删除容器:使用
docker rm [容器ID或容器名]
命令删除容器。如果需要删除所有已停止的容器,可以使用docker container prune
命令。
11、Docker其他操作
除了镜像和容器操作外,Docker还支持其他一些高级操作:
- 构建镜像:使用Dockerfile定义镜像内容,并使用
docker build
命令构建镜像。 - 数据卷管理:Docker数据卷用于容器数据的持久化存储。可以使用
docker volume create
、docker volume ls
等命令管理数据卷。 - 网络管理:Docker支持多种网络模式,包括bridge、host、overlay等。可以使用
docker network create
、docker network ls
等命令管理网络。 - Compose使用:Docker Compose是一个用于定义和运行多容器Docker应用程序的工具。通过编写YAML文件来配置服务,然后使用
docker-compose up
命令启动所有服务。