使用 root 用户操作,以 ubuntu 为例。

基础环境准备

先安装 docker、redis、mongodb 等。

  1. # install docker
  2. apt install docker.io
  3. apt install docker-compose
  4. # deploy redis, if you need to use cache function
  5. docker pull redis
  6. docker run -itd --name redis -p 6379:6379 redis --requirepass "123456"
  7. # deploy mongo
  8. mkdir mongo-auth && cd mongo-auth
  9. cat << EOF > initdb.js
  10. db.createUser(
  11. {
  12. user: "admin",
  13. pwd: "123456",
  14. roles:[
  15. {
  16. role: "readWrite",
  17. db: "sharpblog"
  18. }
  19. ]
  20. }
  21. );
  22. EOF
  23. cat <<EOF > docker-compose.yml
  24. mongo:
  25. image: mongo:latest
  26. container_name: mongo
  27. environment:
  28. MONGO_INITDB_DATABASE: sharpblog
  29. MONGO_INITDB_ROOT_USERNAME: admin
  30. MONGO_INITDB_ROOT_PASSWORD: 123456
  31. volumes:
  32. - ./initdb.js:/docker-entrypoint-initdb.d/initdb.js:ro
  33. ports:
  34. - "27017:27017"
  35. command: mongod --auth
  36. EOF
  37. docker-compose up -d

开始部署

SharpBlog-Api

  1. # before, edit appsettings.yml in host to specify mongo/redis url
  2. mkdir -p /app/etc/sharpblog-api/
  3. cp src/SharpBlogX.Api/appsettings.yml /app/etc/sharpblog-api/
  4. # start sharpblog-api
  5. docker run -itd --name sharpblog-api -p 44380:44380 -v /app/etc/sharpblog-api/appsettings.yml:/app/appsettings.yml -v /app/logs/sharpblog-api:/app/Logs reinject/sharpblog-api
  6. # check database health, "Healthy" is ok, "Unhealthy" is not ok
  7. curl -k https://localhost:44380/api/health

访问 https://your-server-ip:44380 进行测试:
image.png

SharpBlog-Web

  1. # before, edit appsettings.yml in host to specify api/admin/static url
  2. mkdir -p /app/etc/sharpblog-web/
  3. cp src/SharpBlogX.Web/appsettings.yml /app/etc/sharpblog-web/
  4. # start sharpblog-web
  5. docker run -itd --name sharpblog-web -p 44381:44381 -v /app/etc/sharpblog-web/appsettings.yml:/app/appsettings.yml -v /app/logs/sharpblog-web:/app/Logs reinject/sharpblog-web

访问 https://your-server-ip:44381 查看博客。
image.png

SharpBlog-Admin

  1. # before, edit appsettings.yml in host to specify api/admin/static url
  2. mkdir -p /app/etc/sharpblog-admin/
  3. cp src/SharpBlogX.Admin/appsettings.yml /app/etc/sharpblog-admin/
  4. # start sharpblog-admin
  5. docker run -itd --name sharpblog-admin -p 44382:44382 -v /app/etc/sharpblog-admin/appsettings.yml:/app/appsettings.yml -v /app/logs/sharpblog-admin:/app/Logs reinject/sharpblog-admin

访问 https://your-server-ip:44382,可以看到后台登录界面。
image.png
默认用户名密码:admin/123456。
image.png