当前位置:   article > 正文

CentOS系统上部署Docker,mysql,nginx

CentOS系统上部署Docker,mysql,nginx

CentOS7系统上部署Docker,mysql,nginx

未完,持续更新中···

更新软件包索引:

首先,确保你的CentOS系统是最新的。你可以通过运行以下命令来更新你的系统:

yum update
  • 1

在这里插入图片描述

安装Docker

CentOS的软件仓库中包含Docker软件包,但可能不是最新版本。为了安装最新版本的Docker,我们将安装Docker的官方仓库,然后从那里安装Docker。运行以下命令来添加Docker的官方仓库,并安装Docker:
在这里插入图片描述

yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io
  • 1
  • 2
  • 3

在这里插入图片描述

启动Docker服务:

安装完成后,启动Docker服务,并设置为开机启动:

systemctl start docker
systemctl enable docker
  • 1
  • 2

验证Docker安装:

通过运行Hello World镜像来验证Docker是否正确安装:

docker run hello-world
  • 1

在这里插入图片描述

如果安装正确,你将看到一条消息,说明你的Docker安装正常工作。

运行MySQL容器

  1. 拉取MySQL镜像:
docker pull mysql:5.7
  • 1

拉取结束后,查看本地是否存在

 docker images
  • 1

在这里插入图片描述
要删除本机上的所有Docker镜像,你可以使用以下命令:

docker rmi $(docker images -q) -f
  • 1

这里的命令解释如下:
docker images -q:列出所有镜像的ID。-q参数表示仅显示镜像ID,不显示其他信息。
docker rmi:删除一个或多个镜像。rmi是remove image的缩写。
$(…):命令替换,docker images -q的结果(即所有镜像的ID)将作为docker rmi命令的参数。
-f:强制删除。即使有容器(无论是运行中还是已停止)使用这些镜像,也会将它们删除。

注意:这个命令会删除你机器上的所有Docker镜像,包括那些可能正在使用的镜像。请确保你确实想要这样做,或者已经备份了需要保留的镜像。

如果你只想删除未被任何容器使用的镜像,可以使用清理命令:

docker image prune -a
  • 1

docker image prune:删除未被任何容器使用的镜像。
-a:表示删除所有未被使用的镜像,
而不仅仅是临时的。
这个命令会在执行前请求确认,你需要输入y来确认操作。如果你想跳过确认,可以添加-f或–force参数。

请谨慎使用这些命令,确保不会删除重要的镜像。

使用docker拉取服务时出现失败的情况

在这里插入图片描述

解决方案:

mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://yxzrazem.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

要验证 MySQL 是否已经安装好并正确运行,你可以执行以下几个简单的步骤:

步骤:

  1. 运行 MySQL 容器:
    使用以下命令来运行 MySQL 5.7 容器,并设置 root 用户的密码:
    在这里插入图片描述
    这里的参数解释如下:
    –name :为你的容器指定一个名称,这里是 root。
    -e MYSQL_ROOT_PASSWORD=123456:设置环境变量 MYSQL_ROOT_PASSWORD,这是必需的,用于指定 root 用户的密码。
    -d:以后台模式运行容器。
    mysql:5.7:指定要运行的镜像和标签。
  2. 查看运行中的容器:
    使用 docker ps 命令来查看当前正在运行的容器:
    在这里插入图片描述3. 连接到 MySQL 容器:
    使用以下命令来连接到正在运行的 MySQL 容器,并进入 MySQL 命令行客户端:
    在这里插入图片描述

问题:之前把容器名称变成了root 我想变成studymysql ,怎么操作?

  1. 停止容器
    首先,停止正在运行的 MySQL 容器。使用以下命令停止容器:
   docker stop root
  • 1
  1. 重命名容器
    使用 docker rename 命令来将容器名称从 root 修改为 studymysql
  docker rename root studymysql
  • 1
  1. 启动容器
    重新启动已经重命名的 MySQL 容器 studymysql:
   docker start studymysql
  • 1
  1. 验证更改
    使用 docker ps 命令检查容器名称是否已成功更改为 studymysql
   docker ps -a
  • 1

结果验证:够看到容器名称已成功更改为 studymysql,则说明修改操作已经成功完成。
在这里插入图片描述

配置数据持久化和端口映射

  1. 创建数据卷

    • 首先,创建一个数据卷,用于持久化存储MySQL容器中的数据。您可以使用以下命令创建一个数据卷:
      docker volume create mysql_data
      
      • 1
  2. 运行MySQL容器并配置数据持久化和端口映射

    • 运行MySQL容器时,将数据卷挂载到容器的数据目录,并配置端口映射。例如,运行以下命令:
      docker run -d --name studymysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -v mysql_data:/var/lib/mysql mysql:5.7
      
      • 1

在这里插入图片描述

  • docker run: 运行一个新的Docker容器。
  • -d: 在后台(detached mode)运行容器。
  • --name studymysql: 为容器指定名称为"studymysql"。
  • -p 3307:3306: 将主机的端口3307映射到容器的端口3306,允许通过主机的3307端口访问MySQL服务。
  • -e MYSQL_ROOT_PASSWORD=123456: 设置MySQL的root用户密码为"123456"。
  • -v mysql_data:/var/lib/mysql: 将名为"mysql_data"的Docker数据卷挂载到容器的/var/lib/mysql目录,用于持久化存储MySQL数据。
  • mysql:5.7: 使用MySQL 5.7的Docker镜像来运行容器。

通过这条命令,您创建了一个名为"studymysql"的MySQL容器,将主机的端口3307映射到容器的端口3306,设置了MySQL的root用户密码为"123456",并将名为"mysql_data"的数据卷挂载到容器的/var/lib/mysql目录,以便持久化存储MySQL数据。

在这里插入图片描述

3.如何让本地环境访问容器中的数据库?

答:给容器中的数据库添加端口映射,不能与虚拟机中的数据库端口重叠。

4.如何让mysql可以使用重启命令service mysql start``service mysql restart
报错:Failed to start mysql.service: Unit not found.
该问题出现在启动 mysql 时,找不到对应的服务
答:手动添加 mysql.server

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
service mysql start
  • 1
  • 2

运行Nginx容器

1.拉取Nginx镜像:

   docker pull nginx
  • 1

2.运行Nginx容器:
将容器的80端口映射到主机的80端口。

   docker run --name studynginx -d -p 80:80 nginx
  • 1

-name studynginx: 为容器指定一个名称,这里是"studynginx"。
-d: 在后台运行容器。
-p 80:80: 将主机的80端口映射到容器的80端口,这样可以通过主机的IP地址访问Nginx服务。
nginx: 指定要运行的镜像,这里是Nginx。
在这里插入图片描述
3.访问Nginx:
在浏览器中访问http://192.168.16.129,你应该能看到Nginx的欢迎页面。
在这里插入图片描述

利用Docker安装Kubernetes (Minikube)
安装Kubernetes的一个简单方法是使用Minikube,它是一个轻量级的Kubernetes实现,适合在本地环境进行测试和学习。Minikube可以作为一个虚拟机运行在Docker之上。
安装Minikube:
请参考Minikube的官方安装指南来安装Minikube。
启动Minikube:
使用Docker驱动启动Minikube。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/447736
推荐阅读
相关标签
  

闽ICP备14008679号