这种东西,菜鸟上一大把。我这里只是把这几个安装方法收集起来而已。

废话不多说,开始!

一. 安装MySQL

1.拉取mysql镜像

docker pull mysql

这里可以通过:[版本号]的方式拉取指定版本的镜像。不指定则默认拉取最新版本latest

2.运行容器

$ docker run -itd --name [容器名称] -p [外部端口]:[容器内端口] --restart=always -e MYSQL_ROOT_PASSWORD=[mysql的root密码] [mysql镜像的名字]

因为我拉的最新版本的mysql,所以镜像名字就是mysql,不需要加版本号。完整的示例就像这样:

docker run -itd --name mysql -p 3906:3306 --restart=always -e MYSQL_ROOT_PASSWORD=rootpwd123 mysql

意思就是

· 以mysql这个镜像启动一个名为mysql的容器(--name mysql)

· 并把容器内部的3306映射到外面宿主机的3906(-p 3906:3306)

· 再设置了mysql服务随容器启动而启动(--restart=always)

· 然后设置了mysql的root密码为rootpwd123

这里说一下啊,对于暴露在外网的端口号,一定要养成修改默认端口的习惯。

3.进入容器

docker exec -it [容器名字或者id] /bin/bash

进去后,你就可以用mysql -u root -p进行登录mysql了,别忘了自己设置的密码哈。

这里单独说一下,mysql 的远程访问问题。有的mysql启起来以后不能远程访问,比如你宿主机启动了mysql容器,但是你本地的Navicat却连不上。这时你就要检查一下是否开启了mysql的远程连接。

怎么看呢,进入容器并登录mysql,然后查询

select host from user where user='root'

 要确保host有一个值是%就可以了。没有的话就update改一下就好。

二. 安装Redis

1.拉取镜像

docker pull redis

2.启动容器

docker run -itd --name [自定义镜像名称] -p [宿主机端口]:[容器端口] redis

 举例:docker run -itd --name redis -p 6379:6379 redis

这种操作,没啥好说的,很朴素。

这里我没变更宿主机redis的默认端口号,是因为我不打算让redis允许远程连接,所以暴露默认端口出来也没问题。

怎么操作呢,

首先去redis官网下载一个redis的配置文件redis.conf

我们把这个文件放在/data/redis/conf.d/目录下面

修改redis.conf:

bind 127.0.0.1 #只允许本地连接,若要远程连接需注释这里
requirepass redispwd123 #设置redis连接密码

然后启动容器的方式改为

docker run -p 6379:6379 --name redis -v /data/redis/conf.d/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf --appendonly yes

 解释一下:

这里的意思是用宿主机的/data/redis/conf.d/redis.conf文件,代替(映射)容器里面/etc/redis/redis.conf文件,并用这个文件启动redis服务。

三. 安装Mongo

1.拉取镜像

docker pull mongo

2.启动容器

docker run -itd --name [自定义镜像名称] -p [宿主机端口]:[容器内端口] mongo --auth

 举例:docker run -itd --name mongo -p 29107:27017 mongo --auth

 --auth是指的需要授权连接

3.设置用户

3.1 先进入容器

docker exec -it mongo mongo admin

解释:进入mongo的容器,执行mongo命令(登录mongo),访问admin数据库

或者你朴素一点:

docker exec -it mongo /bin/bash

mongo

3.2 设置用户

#创建admin
db.createUser({ user:'[admin账号]',pwd:'[admin密码]',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});

#admin登录mongo
db.auth('admin', '123456')

 设置好之后,本地就可以通过可视化工具连接到这个容器里的mongo数据库了。

如果连接不上,排查是否没有开启允许远程访问。

进入容器,cd到etc目录

打开mongod.conf.orig文件,注释掉bindIp这里。

 

四. 安装Nginx

1.拉取镜像

docker pull nginx

2.启动容器

docker run --name [自定义镜像名称] -p 80:80 -d nginx

3.访问nginx

 http://服务器IP地址

能成功访问到nginx页面,代表启动成功。

4.配置nginx

有两种配置方式,一种是挂载宿主机磁盘。二是在容器内配置nginx

先说第一种:

启动命令为:

docker run --name nginx -p 80:80 -v [宿主机配置文件路径]:/etc/nginx/conf.d/default.conf -d nginx

这样你直接修改宿主机上的default.conf文件,就可以直接被容器内的nginx读取到。

第二种,还是已朴素的方式启动容器,不挂载任何东西。

这里就需要使用到docker的复制命令将宿主机上的配置文件复制到容器内了。

具体如下

docker cp 宿主机配置文件路径 nginx:/etc/nginx/conf.d/default.conf

最后别忘记重启nginx

docker restart nginx

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐