Docker 安装 MySQL、Redis、Nginx
222
- 1、Portainer 安装(docker可视化)
- 2、Docker 安装MySQL
- 3、Docker安装Redis
- 4、Docker安装 Nginx
1、Portainer 安装(docker可视化)
docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer
-
选择本地的数据
-
docker中镜像,容器等信息
2、Docker 安装MySQL
注意MySQL数据持久化问题
进行卷挂载,即使MySQL容器删除,本地挂载的主机目录下,也有原数据
# 获取镜像,指定版本,不写默认最新
docker pull mysql:5.7
# 通过挂载运行容器,MySQL启动需要设置密码
# -d 后台启动
# -p 宿主机容器端口映射
# -v 卷挂载 主机目录:容器目录
# -e 设置密码
# --name 设置容器别名
# -v /mydata/mysql/log mysql日志
# -v /mydata/mysql/data mysql数据
# -v /mydata/mysql/conf mysql配置
docker run -p 3306: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
# /mydata/mysql/conf目录下编写 my.cnf配置文件
vim my.cnf
# 文件内容,复制到 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
3、Docker安装Redis
# 拉取镜像,默认最新
docker pull redis
# 先在外面创建一个文件,防止下面命令启动容器时,将 .conf 当成一个目录
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
# 启动一个容器
# redis-server /etc/redis/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客户端
docker exec -it redis redis-cli
# 修改配置文件 redis.conf,设置持久化方式
vi redis.conf
# 内容
appendonly yes
# redis配置文件 官网地址:https://redis.io/docs/manual/config/
4、Docker安装 Nginx
-
搜索Nginx
docker search nginx
-
下载镜像
docker pull nginx
-
启动镜像
docker run -d -p 3333:80 --name ngin001 nginx # -d 后台启动 # -p 端口暴露,让宿主机端口映射容器端口 # ngin001 别名(启动多个的时候做区分) # 3333 外面访问的端口,对应 docker的80端口 # nginx 启动的是docker镜像 # 本机访问 3333 端口 curl localhost:3333
启动成功