阿里云服务器安装docker,拉取常用的mysql,redis,nginx等镜像

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介: 阿里云服务器安装docker,拉取常用的mysql,redis,nginx等镜像

一、Docker的安装和配置

1.1 去docker官网,选择Developers–—》Docs

1.2 选择Download and Install

1.3 选择 Linux

1.4 选择centos

1.5 依次根据里面提示的内容进行安装和启动

1.5.1 先卸载安装过的旧版本

sudo yum remove docker \
                 docker-client \
                 docker-client-latest \
                 docker-common \
                 docker-latest \
                 docker-latest-logrotate \
                 docker-logrotate \
                 docker-engine

1.5.2 安装一些依赖的包

sudo yum install -y yum-utils
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

1.5.3 安装docker引擎

sudo yum install docker-ce docker-ce-cli containerd.io

1.5.4 启动docker

sudo systemctl start docker

1.5.5 设置docker开机自启动

sudo systemctl enable docker

1.5.6 配置docker的阿里云加速启动

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://xp4abd48.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

把上述的复制粘贴到自己的服务器上,就可以让自己的docker拥有阿里云的加速镜像服务了。

二、Docker拉取镜像和启动容器

2.1 拉取mysql5.7和启动mysql5.7容器

2.1.1 先拉取,再用docker images检查是否成功

docker pull mysql:5.7

启动mysql

sudo docker run -p 3307:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7

第一行命令:把主机的3306端口映射到了容器的3306端口

第二行命令:把容器的log日志目录/var/log/mysql挂载到了主机的/mydata/mysql/log

第三行命令:把容器的mysql存储的数据/var/lib/mysql挂载到了主机的/mydata/mysql/data

第四行命令:把容器的配置文件/etc/mysql 挂载到了主机的/mydata/mysql/conf

第五行命令:更改mysql的密码

第六行命令:选取容器的镜像

阿里云服务器如果上述完成以后使用命令docker ps 看不到 镜像启动 可以参照这篇博文 [https://blog.csdn.net/qq_41999034/article/details/106162366]

这个就是网上解决阿里云服务器使用docker 运行mysql的时候遇到的问题以及解决办法

2.1.2 修改mysql的配置文件

cd /mydata/
ls
cd mysql/
cd conf/
sudo vim my.cnf

编辑内容

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

然后重新启动mysql

docker restart mysql

在这里一般阿里云服务器会遇到mysql不让远程连接,因此要设置

设置mysql的配置文件,先设置跳过密码登陆

skip-grant-tables 

设置完了之后要重启

docker restart mysql

然后以交互式的方式进入

docker exec -it mysql /bin/bash

登陆更改

mysql -u root -p

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
• 1
FLUSH   PRIVILEGES;
exit;

2.2 拉取redis镜像和启动redis

docker pull redis
mkdir  mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf

同时还要在redis的配置文件/mydata/redis/conf/redis.conf中去配置数据库持久化,内容为

appendonly yes

操作步骤

cd /mydata/redis
cd conf/
vim redis.conf
docker restart redis
docker exec -it redis redis-cli


相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
4天前
|
tengine 关系型数据库 MySQL
Tengine、Nginx安装MySQL数据库命令教程
本指南详细介绍了在Linux系统上安装与配置MySQL数据库的步骤。首先通过下载并安装MySQL社区版本,接着启动MySQL服务,使用`systemctl start mysqld.service`命令。若启动失败,可尝试使用`sudo /etc/init.d/mysqld start`。利用`systemctl status mysqld.service`检查MySQL的服务状态,确保其处于运行中。通过日志文件获取初始密码,使用该密码登录数据库,并按要求更改初始密码以增强安全性。随后创建一个名为`tengine`的数据库,最后验证数据库创建是否成功以及完成整个设置流程。
|
13天前
|
关系型数据库 MySQL Linux
Linux 安装 mysql 【使用 tar.gz | tar.xz安装包-离线安装】
在Linux系统中使用tar.xz压缩包安装MySQL数据库的详细步骤。包括下载MySQL压缩包,解压到指定目录,创建mysql用户和组,设置目录权限,初始化MySQL,配置my.cnf文件,启动服务,以及修改root用户密码。此外,还提供了如何设置Windows远程登录MySQL服务器的方法。
Linux 安装 mysql 【使用 tar.gz | tar.xz安装包-离线安装】
|
10天前
|
数据采集 中间件 关系型数据库
Mac系统通过brew安装mysql5.7后,启动报错的解决办法
Mac系统通过brew安装mysql5.7后,启动报错的解决办法
28 2
|
监控 NoSQL 应用服务中间件
使用elk+redis搭建nginx日志分析平台(转)
logstash,elasticsearch,kibana 怎么进行nginx的日志分析呢?首先,架构方面,nginx是有日志文件的,它的每个请求的状态等都有日志文件进行记录。其次,需要有个队列,redis的list结构正好可以作为队列使用。
991 0
|
监控 NoSQL 应用服务中间件
|
21天前
|
缓存 前端开发 JavaScript
终极 Nginx 配置指南(全网最详细)
本文详细介绍了Nginx配置文件`nginx.conf`的基本结构及其优化方法。首先通过删除注释简化了原始配置,使其更易理解。接着,文章将`nginx.conf`分为全局块、events块和http块三部分进行详细解析,帮助读者更好地掌握其功能与配置。此外,还介绍了如何通过简单修改实现网站上线,并提供了Nginx的优化技巧,包括解决前端History模式下的404问题、配置反向代理、开启gzip压缩、设置维护页面、在同一IP上部署多个网站以及实现动静分离等。最后,附上了Nginx的基础命令,如安装、启动、重启和关闭等操作,方便读者实践应用。
233 84
终极 Nginx 配置指南(全网最详细)
|
10天前
|
JavaScript 应用服务中间件 开发工具
vue尚品汇商城项目-day07【53.nginx反向代理配置】
vue尚品汇商城项目-day07【53.nginx反向代理配置】
22 4
|
10天前
|
缓存 应用服务中间件 nginx
nginx如何配置?配置项都是什么意思?
nginx如何配置?配置项都是什么意思?
27 1
|
13天前
|
应用服务中间件 nginx Docker
docker应用部署---nginx部署的配置
这篇文章介绍了如何使用Docker部署Nginx服务器,包括搜索和拉取Nginx镜像、创建容器并设置端口映射和目录映射,以及如何创建一个测试页面并使用外部机器访问Nginx服务器。
|
2月前
|
应用服务中间件 nginx Docker
本地通过域名访问虚拟机上nginx的服务、搭建域名访问环境一(反向代理配置)
这篇文章介绍了如何通过域名在本地访问虚拟机上的nginx服务,包括创建nginx容器、修改配置文件、修改本地host文件以及进行访问测试的详细步骤。文章提供了具体的Docker命令来创建并配置nginx容器,展示了配置文件的修改示例,说明了如何在本地系统的hosts文件中添加虚拟机IP和自定义域名,以及如何通过浏览器进行测试访问。
本地通过域名访问虚拟机上nginx的服务、搭建域名访问环境一(反向代理配置)