目录
前提拥有docker,如未有docker,请移步:
一、下载Redis
下载:
docker pull redis:latest
下载查看:
docker images
运行:
docker run -itd --name redis-IMSince1999 -p 6379:6379 redis
运行查看:
docker ps
使用redis-cli测试链接
docker exec -it redis-IMSince1999 /bin/bash
redis-cli
Docker安装Redis成功!
二、下载Nginx
下载:
docker pull nginx:latest
下载查看:
docker images
运行Nginx(8881位本机的端口号 ,80映射到docker的端口号):
docker run --name nginx-IMSince1999 -p 8881:80 -d nginx
浏览器输入:
Docker安装Nginx成功!
三、下载CentOS
下载(在这里选择了常用的centos7,下载查看指令同一、二中查看一样):
docker pull centos:centos7
运行指令(查看容器运行信息指令:docker ps):
docker run -itd --name centos-IMSince1999 centos:centos7
四、下载Tomcat
下载指令:
docker pull tomcat
查看指令:
docker images|grep tomcat
运行tomcat:
docker run --name tomcat -p 8080:8080 -v $PWD/test:/usr/local/tomcat/webapps/test -d tomcat
说明:
-p 8080:8080:将主机的 8080 端口映射到容器的 8080 端口。
-v $PWD/test:/usr/local/tomcat/webapps/test:将主机中当前目录下的 test 挂载到容器的 /test。
五、下载Mysql
我选择的mysql版本和本地的mysql保持一致,mysql--8.0.28
下载指令:
docker pull mysql:8.0.28
但是出现提示信息报错:机器类型不匹配
no matching manifest for linux/arm64/v8 in the manifest list entries
原因Mac的M1,底层使用arm64架构,也称aarch64架构,和下载的mysql操作系统不匹配。
解决办法:
docker pull --platform linux/x86_64 mysql:8.0.28
查看docker是否安装mysql:
docker images
运行mysql:
$ docker run --platform linux/x86_64 -d --name=mysql-server -p 3306:3306 -v mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.28
说明:
- -p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
- MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码。
- MYSQL:8.0.28 : 指定运行的版本。
- --platform linux/x86_64 :解决MAC运行的问题。
查看docker中正在运行:
docker ps
测试链接
方式一:
1、进入docker中的mysql容器下:
docker exec -it mysql-server bash
注:mysql-server 是mysql的容器名
2、在当前目录下,执行mysql连接操作。
mysql -uroot -p123456
方式二:
因为在docker上的运行的mysql已经映射到了本地,可以使用本机的navicat测试链接。
到此,docker安装mysql成功。
六、安装MongoDB
安装指令
docker pull mongo:latest
查看指令
docker images
运行docker容器指令
docker run -itd --name mongo -p 27017:27017 mongo --auth
说明:
- -p 27017:27017 :映射容器服务的 27017 端口到宿主机的 27017 端口。外部可以直接通过 宿主机 ip:27017 访问到 mongo 的服务。
- --auth:需要密码才能访问容器服务。
查看是否运行成功
docker ps
测试连接mongodb
docker exec -it mongo mongo admin
//创建一个名为admin,密码为123456的用户
> db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
//使用上面创建的用户信息进行连接。
> db.auth('admin', '123456')