搞了台阿里云服务器,准备学习下基于Docker容器的各种主流技术部署,那么让我们愉快的开始吧!
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
-
创建mysql目录:
mkdir -p ~/mysql/data ~/mysql/logs ~/mysql/conf
-
使用docker命令启动:
docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
命令说明:
- -p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。
- -v -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。
- -v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。
- -v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。
- -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
-
进入运行mysql的docker容器:
docker exec -it mysql /bin/bash
-
使用mysql命令打开客户端:
mysql -uroot -proot --default-character-set=utf8
-
创建数据库:
create database nuochuan character set utf8
-
创建一个root帐号并修改权限,使得任何ip都能访问:
grant all privileges on *.* to 'root' @'%' identified by 'root';
我在链接的时候链接超时,检查过ip啥的都没问题,最后发现问题因为用阿里云需要去 ECS上开放mysql安全组
配置完之后成功链接,美滋滋!
Redis安装
### 下载镜像文件 docker pull redis:3.2 ### 创建实例并启动 docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data -d redis:3.2 redis-server --appendonly yes ### 使用redis镜像执行redis-cli命令连接 docker exec -it redis redis-cli
Nginx安装
### 下载镜像文件 docker pull nginx ### 创建实例并启动 docker run --name nginx -p 80:80 -d nginx ### 查看docker启动的容器 docker ps
RabbitMQ安装
### 下载镜像文件 docker pull rabbitmq:management ### 创建实例并启动 docker run -d --name rabbitmq --publish 5671:5671 \ --publish 5672:5672 --publish 4369:4369 --publish 25672:25672 --publish 15671:15671 --publish 15672:15672 \ rabbitmq:management ### 进入容器并开启管理功能 docker exec -it rabbitmq /bin/bash rabbitmq-plugins enable rabbitmq_management ### 开启防火墙 firewall-cmd --zone=public --add-port=15672/tcp --permanent firewall-cmd --reload ### 查看docker启动的容器 docker ps
http://39.104.200.47:15672/#/ 输入账号密码guest/guest
然后在admin中创建用户配置hosts最后Set permission