Docker安装
依赖环境
- Docker
- 现代浏览器
安装步骤
以下安装步骤使用redhat 操作系统。
1. 安装docker
rpm包安装docker服务
将docker 的安装包及其依赖包上传到指定目录里:
// 强制安装docker服务
[root@localhost rpm安装包]# rpm -ivh *.rpm --force --nodeps
//--nodeps 安装时不检查依赖关系
//--force 强制安装
// 开启服务
[root@localhost package]# systemctl start docker
// 开机自启docker服务 或 “chkconfig docker on” 命令
[root@localhost ~]# systemctl enable docker
如已安装 docker 则忽略。
以下安装 docker 步骤适用于
Centos
,其他系统安装请参考 Docker官方文档。
$ yum install -y yum-utils
$ yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
$ yum install docker-ce docker-ce-cli containerd.io
$ systemctl start docker
2. 拉取镜像
如果没有外网可以先在一台有外网的机器上把镜像build好并save,然后把镜像传到局域网的机器。
docker save -o spug_image.docker registry.aliyuncs.com/openspug/spug
然后在局域网的服务器上load这个image
docker load -i spug_image.docker
启动docker container需要注意一定要把数据持久化到宿主机上,否则container 一旦被删除所有的数据将随之消失.
如果需要持久化存储代码和数据,可以添加:-v 映射容器内/data路径
$ docker pull registry.aliyuncs.com/openspug/spug
3. 启动容器
如果需要持久化存储代码和数据,可以添加:-v 映射容器内/data路径。
官方镜像内置了
Mysql
数据库,如果需要使用外部已有数据库(Mysql 5.6+),可以参考 此文档 设置后再进行下一步的初始化操作。根据需要,以下两种启动方式任选其一即可。
# 持久化存储启动命令:
# /spug 指的是映射本地的磁盘路径,也可以是其他目录,/data是容器内代码和数据初始化存储的路径
$ docker run -d --restart=always --name=spug -p 80:80 -v /spug:/data registry.aliyuncs.com/openspug/spug
# 如果你需要在spug内使用docker命令则需要添加额外的参数
$ docker run -d --restart=always --name=spug -p 80:80 -v /spug/:/data -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker registry.aliyuncs.com/openspug/spug
4. 初始化
以下操作会创建一个用户名为 admin
密码为 spug.dev
的管理员账户,可自行替换管理员账户。
$ docker exec spug init_spug admin spug.dev
# 执行完毕后需要重启容器
$ docker restart spugr
如果上述方法不成功:注意安装Python 3的环境,然后执行下面的操作。
初始化数据库
$ cd /data/spug/spug_api
$ python3 manage.py updatedb
6创建默认管理员账户
$ python3 manage.py user add -u admin -p spug.dev -s -n 管理员
# -u 用户名
# -p 密码
# -s 超级管理员
# -n 用户昵称
5. 访问测试
在浏览器中输入 http://localhost:80
访问。
用户名: admin
密码: spug.dev
官网链接:
Docker安装 · ## 依赖环境https://www.spug.cc/docs/install-docker
手动部署 · > 我们推荐你使用 [Docker安装](/docs/install-docker) 来确保体验的一致性。https://www.spug.cc/docs/deploy-product/