Docker
Docker 安装 Mysql
- Docker 查看可用Mysql镜像
推荐使用mysql5.7
# docker安装mysql
$ docker search mysql:5.7
- Docker mysql目录挂载&启动mysql
# docker启动mysql
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 用户的密码
- mysql配置
$ vi /mydata/mysql/conf/my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
- 设置防火墙
# 允许3306端口 通过防火墙
$ firewall-cmd --permanent --zone=public --add-port=3306/tcp
# 重新加载防火墙
$ firewall-cmd --reload
- Docker 自启动镜像
# 重启主机Mysql也会自动启动
$ docker update mysql --restart=always
Docker 安装Redis
- Docker 查看可用Redis镜像
# pull最新redis版本
$ docker search redis
- Docker redis目录挂载&启动redis
docker run -p 6379:6379 --name redis
-v /mydata/redis/data:/data
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf
-d redis redis-server /etc/redis/redis.conf
# 查看映射是否成功
$ pwd
/mydata/redis/conf
# Redis开启持久化
$ vim redis.conf
appendonly yes
- 设置防火墙
# 允许6379端口 通过防火墙
$ firewall-cmd --permanent --zone=public --add-port=6379/tcp
# 重新加载防火墙
$ firewall-cmd --reload
- Redis测试
# 进入redis容器
$ docker exec -it redis redis-cli
127.0.0.1:6379> set a b
OK
127.0.0.1:6379> get a
"b"
127.0.0.1:6379> exit
Docker 安装Zookeeper
- Docker 推荐使用zookeeper
推荐使用zookeeper3.4.11
# docker安装zookeeper
$ docker pull zookeeper:3.4.11
- Docker 启动zookeeper3
# 启动zookeeper
$ docker run --name zookeeper -p 2181:2181 --restart always -d zookeeper:3.4.11
# 使用docker ps 查看启动是否成功
$ docker ps
- 设置防火墙
# 允许2181端口 通过防火墙
$ firewall-cmd --permanent --zone=public --add-port=2181/tcp
# 重新加载防火墙
$ firewall-cmd --reload
Docker 安装Nginx
- Docker pull nginx
# 创建nginx目录
$ cd /mydata/
$ mkdir nginx
# pull nginx
$ docker pull nginx:1.10
- Docker 获取conf配置文件
# 启动nginx
$ docker run -p 80:80 --name nginx -d nginx:1.10
# 使用docker ps 查看启动是否成功
$ docker ps
# 将容器内的配置文件拷贝到当前目录
$ docker container cp nginx:/etc/nginx .
# 修改目录名称:mv nginx conf
$ mv nginx conf
# 停止nginx
$ docker stop nginx
# 删除nginx
$ docker rm nginx
# 创建nginx目录
$ pwd
/mydata
$ mkdir nginx
# 移动nginx目录
$ mv conf nginx/
- Docker 启动nginx
# 启动nginx
$ docker run -p 80:80 --name nginx
-v /mydata/nginx/html:/usr/share/nginx/html
-v /mydata/nginx/logs:/var/log/nginx
-v /mydata/nginx/conf:/etc/nginx
-d nginx:1.10
- Docker 删除nginx
# 停止nginx
$ docker stop nginx
# 删除nginx
$ docker rm nginx
- 设置nginx
# 设置启动nginx
$ docker update nginx --restart=always
参考文档1: 点我传送-mysql
参考文档2: 点我传送-redis
参考文档3: 点我传送-zookeeper
参考文档4: 点我传送-nginx