CenOS 7 中 Docker 安装Tomcat、Nginx、 MySQL、Redis、ElasticSearch、MongoDB、RabbitMQ

Docker常用命令

#docker命令常用参数
--name指定容器名字 -v目录挂载 -p指定端口映射  -e设置mysql参数 -d后台运行

#设置mysql容器自动启动
docker update mysql --restart=always

#进入mysql容器与退出容器
docker exec -it mysql /bin/bash
exit;

防火墙、关闭SELinux警报

setenforce 0

#查看开放的端口号
firewall-cmd --list-all

#设置开放的端口号
sudo firewall-cmd --add-port=80/tcp --permanent

#重启防火墙
firewall-cmd --reload

Docker 安装 Tomcat

#拉取镜像
docker pull tomcat:latest

#创建容器
docker run -p 8080:8080 --name tomcat -v /mydata/tomcat:/usr/local/tomcat/webapps -d tomcat

Docker 安装 Nginx

#先创建出文件夹
cd /mydata/
mkdir nginx

#随便启动一个nginx实例,只是为了复制出配置
docker run -p 80:80 --name nginx -d nginx:1.10

#复制配置(别忘了后面的点)
docker container cp nginx:/etc/nginx .

#删除掉nginx容器
docker stop nginx
docker rm nginx

#修改nginx文件名为conf,创建新的nginx文件,移动conf到nginx下
mv nginx conf
mkdir nginx
mv conf 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

#设置开机启动nginx
docker update nginx --restart=always

#创建/mydata/nginx/html/index.html文件,测试是否能够正常访问
cd /mydata/nginx/html/
vi index.html
<h1>My Nginx Test</h1>

Docker 安装 MySQL

#拉取镜像
docker pull mysql:5.7

#创建容器
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=1234 \
-d mysql:5.7 --lower-case-table-names=1

#修改mysql配置文件
vi /mydata/mysql/conf/my.conf 

[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

Docker 安装 Redis

#拉取镜像
docker pull redis

#需要提前创建好要挂载的文件,因为docker容器中没有redis.conf文件,直接挂载会把redis.conf创建为目录
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf

#创建容器
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

#redis默认是不持久化的(开启aof持久化)
vi /mydata/redis/conf/redis.conf

appendonly yes

Docker 安装 ElasticSearch

#配置挂载目录
mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data
echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml

#保证权限问题
chmod -R 777 /mydata/elasticsearch/

#拉取镜像创建容器
docker run --name elasticsearch --privileged=true -p 9200:9200 -p 9300:9300 \
-e  "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v  /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.6.2

Docker 安装 Kibana

#拉取镜像创建容器
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.203.100:9200 -p 5601:5601 -d kibana:7.6.2

Docker 安装MongoDB

#拉取镜像
docker pull mongo:latest

#创建容器
docker run -d --restart=always -p 27017:27017 --name mymongo -v /mydata/mongodb/db:/data/db -d mongo

Docker 安装 RabbitMQ

#拉取镜像
docker pull rabbitmq:management

#创建容器
docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 -v /mydata/rabbitmq:/var/lib/rabbitmq --hostname myRabbit  rabbitmq

#解决访问点击Channels时Stats in management UI are disabled on this node问题
docker exec -it rabbitmq /bin/bash
cd /etc/rabbitmq/conf.d/
echo management_agent.disable_metrics_collector = false > management_agent.disable_metrics_collector.conf

#退出容器并重启 RabbitMQ
exit;
docker restart rabbitmq
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值