Docker安装开发环境

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

原文地址:https://www.cnblogs.com/HOsystem/p/14487084.html