安装 redis安装
下载镜像文件
docker pull redis:3.2
创建实例并启动
docker run -p 6379:6379 --name redis -v ~/opt/redis/data:/data -d redis:3.2 redis-server --appendonly yes
使用redis镜像执行redis-cli命令连接
docker exec -it redis redis-cli
nginx安装
下载镜像文件
docker pull nginx:1.10
创建实例并启动
docker run -p 80:80 --name nginx
-v ~/opt/nginx/html:/usr/share/nginx/html
-v ~/opt/nginx/logs:/var/log/nginx
-d nginx:1.10
修改nginx配置
将容器内的配置文件拷贝到当前目录:docker container cp nginx:/etc/nginx .
修改文件名称:mv nginx conf
终止容器:docker stop nginx
执行命令删除原容器:docker rm $ContainerId
执行以下命令:
docker run -p 80:80 --name nginx
-v ~/opt/nginx/html:/usr/share/nginx/html
-v ~/opt/nginx/logs:/var/log/nginx
-v ~/opt/nginx/conf:/etc/nginx
-d nginx:1.10
Nginx 加载配置
docker exec -i nginx nginx -s reload
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
mongodb安装
下载镜像文件
docker pull mongo:3.2
创建实例并运行
docker run -p 27017:27017 --name mongo -v ~/opt/mongo/db:/data/db -d mongo:3.2
使用mongo命令进入容器
docker exec -it mongo mongo
zookeeper 安装
下载镜像文件
docker pull zookeeper
创建实例并运行
docker run -p 2181:2181 --name zookeeper -v ~/opt/zk/conf:/conf -d zookeeper:latest
elasticsearch安装
下载镜像文件
docker pull elasticsearch:6.4.0
创建实例并运行
docker run -p 9200:9200 -p 9300:9300 --name elasticsearch -v ~/opt/elasticsearch/plugins:/usr/share/elasticsearch/plugins -v ~/opt/elasticsearch/data:/usr/share/elasticsearch/data -d elasticsearch:6.4.0
测试
访问会返回版本信息:
http://localhost:9200/
postgress 安装
下载镜像文件
docker pull postgres:11.4
创建实例并运行
docker run --name postgres -v ~/opt/postgresql:/var/lib/postgresql -e POSTGRES_PASSWORD=123456 -p 5432:5432 -d postgres:11.4
其中:
–name为设置容器名称
-d为设置容器在后台运行
-p为设置端口映射
-v为设置数据库存储目录映射,可以将数据库存储目录保存在主机目录,防止容器被删除之后数据库中的数据丢失
-e为设置数据库参数,这里设置的是数据库管理员密码
MySQL 的安装
docker run -p 3306:3306 --privileged=true -v ~/opt/mysql:/etc/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
docker run -d -p 3306:3306 -v ~/opt/mysql/mysql.conf.d:/etc/mysql/mysql.conf.d/ -v ~/opt/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7
docker run -p 3306:3306 --name mysql \
-v /mnt/data/mysql/log:/var/log/mysql \
-v /mnt/data/mysql/data:/var/lib/mysql \
-v /mnt/data/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7
参数说明
- -p 3306:3306:将容器的3306端口映射到主机的3306端口
- -v /mnt/data/mysql/conf:/etc/mysql:将配置文件夹挂在到主机
- -v /mnt/data/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
- -v /mnt/data/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机
- -e MYSQL_ROOT_PASSWORD=root:初始化root用户的密码
通过容器的mysql命令行工具连接
docker exec -it mysql mysql -uroot -p123456
设置远程访问
grant all privileges on . to 'root' @'%' identified by 'root';
flush privileges;
进入容器文件系统
docker exec -it mysql /bin/bash