官网: https://docs.docker.com/registry/
https://docs.docker.com/registry/deploying/
docker 私有仓库,官方出品,必属精品。
运行方式:
docker run -d \ -p 5000:5000 \ --restart=always \ --name registry \ -v /mnt/registry:/var/lib/registry \ registry
提交到私有仓库示例:
# 从Docker Hub官网拉取镜像。 $ docker pull ubuntu:16.04 # 重新打标签,记得加上私有仓库ip和端口。具体含义见 docker 镜像命名方式。 $ docker tag ubuntu:16.04 localhost:5000/my-ubuntu # 提交镜像到私有仓库。 $ docker push localhost:5000/my-ubuntu # 本机可以删除掉缓存的原标签。 $ docker image remove ubuntu:16.04 # 后续拉取镜像可从私有仓库拉取。 $ docker pull localhost:5000/my-ubuntu
https://hub.docker.com/r/portainer/portainer
docker 管理工具 web 版,管理员通过浏览器访问 9000 端口进行控制 docker 。
单机版通过 socket 跟主机 docker 进行通信获取信息,运行和挂载命令如下:
docker run -d -p 9000:9000 \ -v /var/run/docker.sock:/var/run/docker.sock \ portainer/portainer
集群版未实验,参见其他网上文档。
不多说,自行搜索这是什么东西。
官方说明: https://hub.docker.com/r/mikolatero/vlmcsd
运行方式:
docker run -d -p 1688:1688 --restart=always --name vlmcsd mikolatero/vlmcsd
OnlyOffice 是开源 office 里做得比较大的,它有三大 Server: Document Server, Mail Server, Community Server 。 三件套整合起来可以撑起办公半边天。
这里只用了 Document Server ,其跟 Nextcloud 、 seafile 等结合,可以让私有云在线编辑 office 文档,做到协同办公。
docker 使用方式介绍页: https://hub.docker.com/r/onlyoffice/documentserver
运行方式示例:
docker run -i -t -d -p 8380:80 -p 8343:443 \ --restart=always \ -v /ext/data/docker-volumes/onlyoffice/DocumentServer/logs:/var/log/onlyoffice \ -v /ext/data/docker-volumes/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \ -v /ext/data/docker-volumes/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice \ -v /ext/data/docker-volumes/onlyoffice/DocumentServer/db:/var/lib/postgresql \ -v /ext/data/docker-volumes/onlyoffice/DocumentServer/default.json:/etc/onlyoffice/documentserver/default.json \ --name onlyoffice_ds \ onlyoffice/documentserver # -e CA_CERTIFICATES_PATH=/var/www/onlyoffice/Data/certs/ca.crt \ # -e SSL_VERIFY_CLIENT=true \ # 需要把data下的default.json 替换到 /etc/onlyoffice/documentserver 下 # 参考: https://github.com/ONLYOFFICE/Docker-DocumentServer/issues/96
通过浏览器访问对应端口,显示 “Document Server is running” 即为成功。
其他两个组件视情况选用。
mysql 是最常用的数据库之一,属于基础组件,不多做介绍。使用 docker 部署省时省力,可以针对开发、测试、发布分别运行单独的 docker 实例,隔离无压力。群集暂不在考虑范围内。
这里使用的 mariadb 代替 mysql: https://hub.docker.com/_/mariadb
快速启动示例:
# 快速启动并暴露端口: docker run -d --name mysql-test -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mariadb # 如果需要把数据保存在外面: docker run -d --name mysql-test -v /local/dir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mariadb
老牌 mysql web 管理工具。
仓库网址: https://hub.docker.com/r/phpmyadmin/phpmyadmin
快速启动示例:
# --link 参数前段是 mysql 的实例 name ,见上一段 mysql 的启动命令 docker run -itd --name phpmyadmin --link mysql-test:db -p 8080:80 phpmyadmin/phpmyadmin