安装mysql

  • docker pull mysql
  • 新增文件夹:/usr/local/docker-mapping/mysql/conf、/usr/local/docker-mapping/mysql/data
  • 运行docker容器:
docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD='*******' -v /usr/local/docker-mapping/mysql/conf:/etc/mysql/conf.d -v /usr/local/docker-mapping/mysql/data:/var/lib/mysql mysql
  • 进入容器并登录mysql,修改密码,不然无法远程连接
SET PASSWORD FOR root@localhost = '******';
SET PASSWORD FOR root = '******';

安装redis

  • docker pull redis
  • 新增文件夹:/usr/local/docker-mapping/redis/data
  • 新增文件并编辑:/usr/local/docker-mapping/redis/下redis.conf
acllog-max-len 128

requirepass 密码

lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no

lazyfree-lazy-user-del no

lazyfree-lazy-user-flush no

oom-score-adj no

oom-score-adj-values 0 200 800

disable-thp yes

appendonly no

appendfilename "appendonly.aof"

appendfsync everysec

no-appendfsync-on-rewrite no

auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

aof-load-truncated yes

aof-use-rdb-preamble yes

lua-time-limit 5000

slowlog-log-slower-than 10000

slowlog-max-len 128

latency-monitor-threshold 0

notify-keyspace-events ""

hash-max-ziplist-entries 512
hash-max-ziplist-value 64

list-max-ziplist-size -2

list-compress-depth 0

set-max-intset-entries 512

zset-max-ziplist-entries 128
zset-max-ziplist-value 64
  • 运行redis
docker run -itd --name redis -p 6379:6379 -v /usr/local/docker-mapping/redis/redis.conf:/etc/redis/redis.conf -v /usr/local/docker-mapping/redis/data/:/data -d redis redis-server /etc/redis/redis.conf

安装jenkins

  • docker pull jenkins/jenkins
  • 新建文件夹:/usr/local/docker-mapping/jenkins/jenkins_home
  • chmod 777 jenkins_home/
docker run -d -p 10240:8080 -p 10241:50000 -v /usr/local/docker-mapping/jenkins/jenkins_home/:/var/jenkins_home -v /etc/localtime:/etc/localtime --name jenkins jenkins/jenkins

安装minio

  • docker pull minio/minio
  • 新建文件夹:/usr/local/docker-mapping/minio/data、/usr/local/docker-mapping/minio/conf
  • 运行
docker run -p 9000:9000 -p 9001:9001 --name minio -d --restart=always -v /usr/local/docker-mapping/minio/data:/data -v /usr/local/docker-mapping/minio/conf:/root/.minio -e MINIO_ROOT_USER='root' -e MINIO_ROOT_PASSWORD='******' minio/minio server /data --console-address ":9001"

安装nginx

  • nginx pull nginx
  • 新建文件夹:/usr/local/docker-mapping/nginx/conf、/usr/local/docker-mapping/nginx/logs、/usr/local/docker-mapping/nginx/www
  • 新建文件nginx.conf并编辑(/usr/local/docker-mapping/nginx/conf下)
server {
   listen    80;
   server_name  localhost;
   client_max_body_size 10m;
   proxy_max_temp_file_size   30m;
   proxy_connect_timeout 300;
   proxy_read_timeout 300;
   proxy_send_timeout 300;


   location /  {
         root  /var/www/dist;
         index index.html;
         try_files $uri /index.html;
   }

   location /api/ {
         proxy_pass   http://127.0.0.1:9000/;
   }
    location /prod-api-test1/ {
        proxy_pass  http://127.0.0.1:9000/;
    }

}

  • 运行nginx
docker run -it --name nginx -p 80:80 -v /etc/letsencrypt:/etc/letsencrypt -v /usr/local/docker-mapping/nginx/www/:/var/www/ -v /usr/local/docker-mapping/nginx/logs/:/var/log/nginx/ -v /usr/local/docker-mapping/nginx/conf/:/etc/nginx/conf.d nginx

安装sentinel

  • docker pull bladex/sentinel-dashboard
  • docker tag 镜像id sentinel
  • 运行sentinel
docker run --name sentinel -d -p 8858:8858 -e sentinel.dashboard.auth.password=**** -d bladex/sentinel-dashboard

安装rabbitmq

  • docker pull rabbitmq:management
  • 运行rabbitmq
docker run -dit --name Myrabbitmq -e RABBITMQ_DEFAULT_USER='root' -e RABBITMQ_DEFAULT_PASS='xxxxxx' -p 5673:15672 -p 5672:5672 rabbitmq:management

安装nacos

  • docker pull nacos/nacos-server
  • 新建文件夹:/usr/local/docker-mapping/nacos/logs
  • 运行nacos
docker run -d  --name nacos -p 8848:8848 --env MODE=standalone -v /usr/local/docker-mapping/nacos/logs:/home/nacos/logs -e NACOS_SERVER_IP=124.222.**.** nacos/nacos-server
  • 进入nacos容器的/home/nacos/conf
  • 修改 application.properties文件:
spring.datasource.platform=mysql
db.url.0=jdbc:mysql://ip:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=******
  • 进入/var/lib/docker/containers/容器id下,修改hostconfig.json文件,加入conf文件夹的映射(非必需)
  • 重启nacos容器
  • 若要开启nacos权限认证
### If turn on auth system:
nacos.core.auth.enabled=true
  • 以上版本需要额外开启:
    • (与主端口偏移量1000,1001)
      9848: 8848+1000
      9849: 8848+1001

安装tomcat

  • docker pull tomcat
  • 新建文件夹:/usr/local/docker-mapping/tomcat/webapps
  • 运行tomcat
docker run --name tomcat -p 8080:8080 -v /usr/local/docker-mapping/tomcat/webapps/:/usr/local/tomcat/webapps/ -d tomcat

安装portainer:可视化面板

  • docker pull portainer/portainerl
docker run -d -p 8052:9000 -v /var/run/docker.sock:/var/run/docker.sock --restart=always --privileged=true --name prtainer portainer/portainer

更多推荐