「这是我参与2022首次更文挑战的第20天,活动详情查看:2022首次更文挑战」。
写在前面
今天我们用 docker 部署我们的商城项目,主要有项目Mall、MySQL、Redis。 基于
CentOS 7系统
项目地址
项目结构
1. 安装docker
- 更新源
yum update
- 安装docker
yum install docker
- 启动docker
systemctl start docker
- 查看是否启动成功
systemctl status docker
- 查看所有的镜像
docker images
- 查看所有的容器状态
docker ps -a
2. 镜像启动
2.1 MySQL
2.1.1 拉取
docker pull mysql:tag
我这里的tag是mysql 的 8.0 版本,如果不指定就默认是最新版本
docker images 查看镜像
2.1.2 启动
启动mysql容器要保证宿主机的3306没有被占用,或者你也可以用其他端口进行映射,我这里把宿主机的3306端口停了,所以就用3306端口进行映射了。
docker run --name mysql -v /var/lib/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -d mysql:8.0
说明一下这些参数
--name mysql
表示将这个容器命名为mysql
-v /var/lib/mysql:/var/lib/mysql
表示将宿主机的 /var/lib/mysql 卷映射到容器里的 /var/lib/mysql 卷中,这里是为了我们能够把这个数据保存在宿主机中,防止容器删掉就没了。
-e MYSQL_ROOT_PASSWORD=root
表示MySQL的密码我这里设置了root
-p 3306:3306
将宿主机的3306端口映射到容器的3306端口
-d
后台运行
mysql:8.0
使用mysql:8.0这个镜像
2.2 Redis
2.2.1 拉取
docker pull redis
这里我们没有指定版本,所以是 latest 最新版本
2.2.2 启动
docker run --name redis -v /usr/local/redis:/usr/local/redis -p 6379:6379 -d redis:latest