Docker创建网络
## 创建网络 这里的10.1.0.0表示的netmask为 255.255.255.0,也就是10.1.0.0 到 10.1.0.255可用
docker network create --subnet=10.1.0.0/24 mynetwork
## 创建容器指定网络 如这里用redis 指定使用 mynetwork并且ip为 10.1.0.101
docker run -p 6379:6379 \
--name redis \
--network mynetwork --ip 10.1.0.101 \
-v /data/redis/redis.conf:/etc/redis/redis.conf \
-v /data/redis/data:/data \
--privileged -d redis:latest \
redis-server /etc/redis/redis.conf --appendonly yes
==============================================================
Docker常用服务环境搭建
MySQL:5.7 搭建
##拉取镜像
docker pull mysql:5.7.29
##创建并且运行
docker run -d --name mysql \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-v /data/docker/mysql/data:/var/lib/mysql \
--privileged \
mysql:5.7.29
## 停止
docker stop mysql
## 启动
docker start mysql
## 重启
docker restart mysql
## 移除
docker rm mysql
my.cnf
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/data/support/mysql-5.7.34
datadir=/data/support/mysql-5.7.34/data
socket=/tmp/mysql.sock
log-error=/data/support/mysql-5.7.34/mysql.err
pid-file=/data/support/mysql-5.7.34/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
Redis 搭建
##拉取最新镜像
docker pull redis
##创建并且运行
docker run -p 6379:6379 \
--name redis \
-v /data/docker/redis/redis.conf:/etc/redis/redis.conf \
-v /data/docker/redis/data:/data \
--privileged -d redis:latest \
redis-server /etc/redis/redis.conf --appendonly yes
## 停止
docker stop redis
## 启动
docker start redis
## 重启
docker restart redis
## 移除
docker rm redis
– redis.conf配置文件
百度网盘
链接:https://pan.baidu.com/s/1_HLwEErXgCbOqp-DkJwr-w
提取码:ABCD
RabbitMQ搭建
##拉取镜像
docker pull rabbitmq:management
docker run --name rabbitmq \
-d -p 15672:15672 -p 5672:5672 \
-v /data/docker/share:/mnt --privileged \
rabbitmq:management
##添加virtual-host
docker exec -it dev_rabbitmq rabbitmqctl add_vhost xxx
## 停止
docker stop rabbitmq
## 启动
docker start rabbitmq
## 重启
docker restart rabbitmq
## 移除
docker rm rabbitmq
MongoDB搭建
##拉取镜像
docker pull mongo
##创建并且运行
docker run -p 27017:27017 \
-v /data/docker/mongo/db:/data/db \
--privileged \
--name mymongo -d mongo:latest
## 停止
docker stop mymongo
## 启动
docker start mymongo
## 重启
docker restart mymongo
## 移除
docker rm mymongo
## 进入环境
docker exec -it mymongo mongo
Elasticsearch搭建 (7.6.2版本 含ik安装)
##拉取镜像
docker pull elasticsearch:7.6.2
##安装&运行
docker run -d --name es \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-v /data/docker/elastic:/mnt \
--privileged elasticsearch:7.6.2
## 停止
docker stop es
## 启动
docker start es
## 重启
docker restart es
## 移除
docker rm es
–安装ik分词器
- 注意 进入环境后需要切换elasticsearch用户
## 版本在这里找 https://github.com/medcl/elasticsearch-analysis-ik/releases ##下载ik分词器 需要对应你的es版本 如我这里的是7.6.2 下载地址为 https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.2/elasticsearch-analysis-ik-7.6.2.zip ##宿机中执行 cd /data/docker/elastic wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.2/elasticsearch-analysis-ik-7.6.2.zip ##进入es docker exec -it es /bin/bash ##进入es后执行 su elasticsearch cd ~/plugins mkdir ik cd ik cp /mnt/elasticsearch-analysis-ik-7.6.2.zip ./ unzip elasticsearch-analysis-ik-7.6.2.zip rm -rf *.zip ## 退出es的docker exit exit ## 重启es docker restart es ## 安装完毕
MinIO安装(单点启动)
安装后的登录用户名&密码为 admin / a12345678
##拉取镜像 docker pull docker.io/minio/minio ##安装并运行 docker run -d --name minio -v /data/docker/MinIO/data/:/data \ -p 9000:9000 --privileged \ -e "MINIO_ACCESS_KEY=admin" \ -e "MINIO_SECRET_KEY=a12345678" \ docker.io/minio/minio server /data ## 停止 docker stop minio ## 启动 docker start minio ## 重启 docker restart minio ## 移除 docker rm minio
Nginx安装与搭建
##拉取镜像 docker pull nginx ##安装并运行 docker run --name nginx -p 80:80 \ -v /data/docker/nginx/nginx.conf:/etc/nginx/nginx.conf \ -v /data/docker/nginx/log:/var/log/nginx \ -v /data/docker/nginx/conf:/etc/nginx/conf.d \ --privileged -d nginx ## 重载配置 docker exec -it nginx nginx -s reload ## 停止 docker stop nginx ## 启动 docker start nginx ## 重启 docker restart nginx ## 移除 docker rm nginx
- default.conf 文件 (复制到/data/docker/nginx/conf 下)
server { listen 80; listen [::]:80; server_name localhost; #charset koi8-r; #access_log /var/log/nginx/host.access.log main; location / { root /usr/share/nginx/html; index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #} # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} }
- nginx.conf文件 默认
user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; underscores_in_headers on; # 自定义请求头 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf; }
- 添加一个http映射的例子 default.conf
upstream demoserver{ server 192.168.0.114:8080 weight=100; } server { listen 80; listen [::]:80; server_name localhost; location /demo { proxy_pass http://demoserver/demo; add_header Access-Control-Allow-Headers *; } location / { root /usr/share/nginx/html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }
Remix安装
docker pull remixproject/remix-ide:latest docker run -d --name remix -p 8080:80 remixproject/remix-ide:latest