CentOS7系统上部署Docker,mysql,nginx

未完,持续更新中···

更新软件包索引:

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

yum update

安装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

启动Docker服务:

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

systemctl start docker

systemctl enable docker

验证Docker安装:

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

docker run hello-world

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

运行MySQL容器

拉取MySQL镜像:

docker pull mysql:5.7

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

docker images

要删除本机上的所有Docker镜像,你可以使用以下命令:

docker rmi $(docker images -q) -f

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

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

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

docker image prune -a

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

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

步骤:

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

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

停止容器: 首先,停止正在运行的 MySQL 容器。使用以下命令停止容器:

docker stop root

重命名容器: 使用 docker rename 命令来将容器名称从 root 修改为 studymysql:

docker rename root studymysql

启动容器: 重新启动已经重命名的 MySQL 容器 studymysql:

docker start studymysql

验证更改: 使用 docker ps 命令检查容器名称是否已成功更改为 studymysql:

docker ps -a

结果验证:够看到容器名称已成功更改为 studymysql,则说明修改操作已经成功完成。

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

创建数据卷:

首先,创建一个数据卷,用于持久化存储MySQL容器中的数据。您可以使用以下命令创建一个数据卷:docker volume create mysql_data

运行MySQL容器并配置数据持久化和端口映射:

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

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

运行Nginx容器

1.拉取Nginx镜像:

docker pull nginx

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

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

-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。

精彩文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: