在使用linux服务器这方面,我接触比较多的就是docker,最先开始的就是通过docker一键集成搭建DNMP(nginx+mysql+php)环境,后面慢慢的深入了解发现docker容器化的应用是真的很香。有一句话怎么说来着,万物皆可Docker!
如果,你想搭建一个服务或者某个应用,那不妨试试docker。结合docker-compose食用更香。
基于docker的镜像服务很多,怎么去寻找自己需要又好用的,这需要对比,更需要实践。
以下基于docker-compose的容器应用命令皆经过我一手测试,算是同类中比较好用的,记录一下,需要的自取。
docker-compose.yml
version: '3.3' services: # kuma服务器监控应用(支持多服务器) uptime-kuma: image: louislam/uptime-kuma container_name: uptime-kuma volumes: - ./uptime-kuma:/app/data ports: - 3001:3001 # umami网站监控应用(支持多服务器) umami: image: ghcr.io/umami-software/umami:mysql-latest restart: always network_mode: "host" environment: DATABASE_TYPE: mysql DATABASE_URL: mysql://数据库用户名:数据库密码@ip:端口/数据库名称 APP_SECRET: replace-me-with-a-random-string container_name: umami # SQLynx Web数据库远程管理应用 sqlynx: image: registry.cn-hangzhou.aliyuncs.com/sql_studio/sqlynx:3.5.0 container_name: sqlynx restart: unless-stopped ports: - "18888:18888" volumes: - ./log:/sqlynx/log - ./data:/sqlynx/data # Ward服务器监控(轻量单服务器) run: restart: unless-stopped container_name: ward ports: - '4000:4000' environment: - WARD_PORT=4000 - WARD_THEME=dark - WARD_NAME=leons-server privileged: true image: antonyleons/ward # 多人聊天应用 vocechat: restart: always ports: - '3019:3000' # 冒号左边可以改成自己服务器未被占用的端口 container_name: vocechat-server volumes: - './data:/home/vocechat-server/data' # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 data 文件夹中 image: privoce/vocechat-server:latest # 兰空图床应用 lsky-pro: container_name: lsky-pro image: dko0/lsky-pro restart: always volumes: - ./data/html:/var/www/html #映射到本地 ports: - 7791:80 environment: - MYSQL_HOST=mysql - MYSQL_DATABASE=lsky-pro - MYSQL_USER=lsky-pro - MYSQL_PASSWORD=lsky-pro # FileCodeBox 文件临时快递柜,24小时自动删除,默认密码:FileCodeBox2023 filecodebox: image: lanol/filecodebox:beta container_name: filecodebox restart: always ports: - "12345:12345" # 映射宿主机的12345端口到容器的12345端口 volumes: - "/opt/FileCodeBox/:/app/data" # 挂载宿主机的目录到容器
全部搭建至少需要4g以上的内存,所以按需搭建最好。
#常规docker-compose创建容器执行命令 docker-compose start docker-compose up #指定yml文件别名创建容器执行命令 docker-compose -f docker-xxx.yml up