Docker 常见单机环境搭建过程

一、MySQL

# 创建目录
mkdir -p /mydata/mysql/conf /mydata/mysql/data /mydata/mysql/logs

# 创建数据库配置文件 my.cnf
vim /mydata/mysql/conf/my.cnf

# 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

sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO ,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

# 进入目录
cd /mydata/mysql

# 创建容器
docker run -d --name mysql -p 3306:3306 -p 33060:33060 --privileged=true --restart=always \
-v ${PWD}/logs:/var/log/mysql \
-v ${PWD}/data:/var/lib/mysql \
-v ${PWD}/conf/my.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf \
-e MYSQL_ROOT_PASSWORD=root \
mysql:5.7

二、Redis

# 创建目录
mkdir -p /mydata/redis/conf /mydata/redis/data

# 下载对应版本的 redis,获取其中的 redis.conf 文件,将 redis.conf 复制到 conf 目录下
# https://download.redis.io/releases/redis-4.0.14.tar.gz
# 修改 redis.conf 的配置
vim /mydata/redis/conf/redis.conf

# redis.conf 配置
bind 0.0.0.0 # 开启远程访问
appendonly yes # 开启 aof 持久化
daemonize no # 默认no,改为 yes 意为以守护进程方式启动,可后台运行,除非kill进程,改为 yes 会使配置文件方式启动 redis 失败

# 进入目录
cd /mydata/redis

# 创建容器
docker run -d -p 6379:6379 --name redis --restart=always --privileged=true \
-v ${PWD}/conf/redis.conf:/etc/redis/redis.conf \
-v ${PWD}/data:/data  \
redis:4.0.14 \
redis-server /etc/redis/redis.conf

三、Elasticsearch + Kibana

# 创建目录
mkdir -p /mydata/elasticsearch/config /mydata/elasticsearch/data /mydata/elasticsearch/plugins

# 创建配置文件 elasticsearch.yml
vim elasticsearch/config/elasticsearch.yml

# elasticsearch.yml 内容
http.host: 0.0.0.0
http.cors.allow-origin: "*"
http.cors.enabled: true

# 修改文件夹的权限
chmod -R 777 elasticsearch

# 创建 Docker 网络
docker network create ELK

# 进入目录
cd /mydata/elasticsearch

# 创建 Elasticsearch 容器
docker run -d -p 5601:5601 -p 9200:9200 -p 9300:9300 \
--name elasticsearch --net ELK --privileged=true --restart=always\
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms128m -Xmx256m" \
-v ${PWD}/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v ${PWD}/data:/usr/share/elasticsearch/data \
-v ${PWD}/plugins:/usr/share/elasticsearch/plugins \
elasticsearch:7.4.2

# 创建 Kibana 容器 
docker run -d --net container:elasticsearch --name kibana \
-e ELASTICSEARCH_HOSTS=http://<宿主机 IP 地址>:9200 \
kibana:7.4.2

四、Nginx

# 创建目录
mkdir -p /mydata/nginx/html /mydata/nginx/logs

# 创建一个简单的 nginx 容器,用于获取其中的配置文件 nginx.conf
docker run -d --name nginx nginx:1.15

# 复制 nginx 容器的配置文件
cd /mydata/nginx
docker cp nginx:/etc/nginx .
mv nginx conf

# 删除 nginx 容器
docker rm -rf nginx 

# 创建 nginx 容器
docker run -d -p 80:80 --name nginx --restart=always --privileged=true \
-v ${PWD}/conf:/etc/nginx \
-v ${PWD}/html:/usr/share/nginx/html \
-v ${PWD}/logs:/var/log/nginx \
nginx:1.15

  后续待更新...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值