Linux下在Docker容器中安装各种软件
本文是以github 75kstar+开源项目mall商城的部署教程为基础进行部分细节补充,原文可点击此处
系统环境
centOS 7.5 64位
ps:服务器建议选择大内存的,不然装完ElasticSearch1.2G内存就没了。
软件清单
- Mysql
- Redis
- Nginx
- RabbitMQ
- ElasticSearch
Docker 环境安装
//安装yum-utils:
yum install -y yum-utils device-mapper-persistent-data lvm2
//为yum源添加docker仓库位置:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
//安装docker:
yum install docker-ce
//启动docker:
systemctl start docker
Mysql安装
下载mysql5.7的docker镜像:
docker pull mysql:5.7
安装上传下载插件,并将mall项目中的docment/sql/mall.sql上传到Linux服务器上:
yum -y install lrzsz
进入/mydata目录cd /mydata
输入rz
,会自动弹出文件浏览框,选择mall.sql并上传
将mall.sql文件拷贝到mysql容器的/目录下:
docker cp /mydata/mall.sql mysql:/
使用docker命令启动:
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
参数说明
-p 3306:3306:将容器的3306端口映射到主机的3306端口
-v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂在到主机
-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
-v /mydata/mysql/data:/var/lib/mysql/:将数据文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root:初始化root用户的密码
创建及导入mall数据库
//进入运行mysql的docker容器:
docker exec -it mysql /bin/bash
//使用mysql命令打开客户端:
mysql -uroot -proot --default-character-set=utf8
//创建mall数据库:
create database mall character set utf8
//将sql文件导入到数据库:
//下面2条命令需要进入到mysql状态
use mall;
source /mall.sql;
//创建一个reader帐号并修改权限,使得任何ip都能访问:
grant all privileges on *.* to 'reader' @'%' identified by '123456';
Redis安装
//下载redis3.2的docker镜像:
docker pull redis:3.2
//使用docker命令启动:
docker run -p 6379:6379 --name redis \
-v /mydata/redis/data:/data \
-d redis:3.2 redis-server --appendonly yes
Copy to clipboardErrorCopied
进入redis容器使用redis-cli命令进行连接:
docker exec -it redis redis-cli
RabbitMQ
下载rabbitmq3.7.15的docker镜像:
docker pull rabbitmq:3.7.15
补充
mydata路径在/根目录下,因为我使用是finalshell自带可视化目录,但是mydata文件夹却没有显示,只能通过ls
命令来才会看到。这里被坑了一把。
拓展
linux系统环境下,如果需要搜索文件,可以通过find / -name 文件名
进行搜索;可以顺便学习一下50条linux常用命令
windows系统下可以安装Everything,超好用。
参考文章
同作者写的开发者必备Docker命令