一、简介

ShowDoc 是一个非常适合IT团队在线共享文档的工具,在线访问地址为:https://www.showDoc.cc

本来也可以直接 pull showdoc 镜像到本地,使用 docker search showdoc 之后可以看到已经在仓库中存在 showdoc 的镜像了,但是当我 pull 到本地过程中的时候,发现有一个层一直是 waiting 状态,于是决定先去 GitHub 下载,然后手动创建镜像。

二、下载 showdoc

showdoc 的 GitHub 项目地址为:https://github.com/star7th/showdoc,下载地址为 https://github.com/star7th/showdoc.git 或者 git://github.com/star7th/showdoc.git

[root@masternode opt]# mkdir git_repository
[root@masternode opt]# chmod git_repository
[root@masternode opt]# cd git_repository
[root@masternode git_repository]# git clone git://github.com/star7th/showdoc.git

git 默认是在当前目录下下载项目代码。

三、创建镜像

下载后,生成 showdoc 目录,进入目录,可以看到 Dockerfile 文件,使用 docker build -t showdoc ./ 命令根据 Dockerfile 来创建镜像,-t,--tag,镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。./ 表示当前 Dockerfile 所在目录。

[root@masternode git_repository]# cd showdoc
[root@masternode showdoc]# ls -ltr
total
-rw-r--r-- root root Jul : LICENSE.txt
-rw-r--r-- root root Jul : Dockerfile
-rw-r--r-- root root Jul : README.md
drwxr-xr-x root root Jul : Public
drwxr-xr-x root root Jul : Sqlite
-rw-r--r-- root root Jul : composer.json
-rw-r--r-- root root Jul : robots.txt
drwxr-xr-x root root Jul : install
-rw-r--r-- root root Jul : index.php
-rw-r--r-- root root Jul : favicon.ico
drwxr-xr-x root root Jul : documentation
drwxr-xr-x root root Jul : web
drwxr-xr-x root root Jul : server
drwxr-xr-x root root Jul : web_src
[root@masternode showdoc]# pwd
/opt/git_repository/showdoc
[root@masternode showdoc]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest f68d6e55e065 days ago 109MB
hello-world latest fce289e99eb9 months ago .84kB
[root@masternode showdoc]# docker build -t showdoc ./
......
[root@masternode showdoc]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
showdoc latest 40d2089cc644 seconds ago 384MB
nginx latest f68d6e55e065 days ago 109MB
hello-world latest fce289e99eb9 months ago .84kB
richarvey/nginx-php-fpm 1.5. 0b8e5203860f months ago 300MB

此处 docker build 时间比较长,镜像创建好之后,使用 docker images 可以看到。

四、新建并启动容器

此处会涉及到端口映射的概念。

[root@masternode showdoc]# docker run -d --name showdoc -p : showdoc
11f2354ab1cb48a264555660e8f363654f7bd23745f165fe03a379f94fabfe77
[root@masternode showdoc]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
11f2354ab1cb showdoc "docker-php-entrypoi…" seconds ago Up seconds /tcp, /tcp, 0.0.0.0:-> /tcp showdoc

此处使用 -d 选项表示后台运行,--name 指定容器名称,-p 进行端口映射,宿主机端口:容器端口,将允许映射容器内应用的服务端口到本地宿主机端口,此处将本地宿主机的 4999 映射到了容器的 80 端口。之后访问宿主机的 4999 端口即可访问容器内 Web 应用提供的界面。

五、访问应用

初次访问时,在浏览器中访问 http://192.168.56.110:4999/install/index.php 进行 showdoc 程序的初始化(192.168.56.110 为宿主机的 IP 地址),如下:

六、注意事项

showdoc容器中的 /var/www/html/Sqlite/showdoc.db.php 是数据库文件,数据都保存在该文件中;/var/www/html/Public/Uploads 目录中存放附件数据。

/var/www/html/Sqlite/showdoc.db.php 对应的转移文件为:/showdoc_data/html/Sqlite/showdoc.db.php;/var/www/html/Public/Uploads 对应的转移目录为:/showdoc_data/html/Public/Uploads

[root@masternode showdoc]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
11f2354ab1cb showdoc "docker-php-entrypoi…" hours ago Up hours /tcp, /tcp, 0.0.0.0:->/tcp showdoc
[root@masternode showdoc]# docker exec -it 11f2354ab1cb /bin/bash
bash-4.4# ls -ltr /var/www/html/Sqlite
total
-rwxrwxrwx nginx nginx Jul : showdoc.db.php
bash-4.4# ls -ltr /showdoc_data/html/Sqlite/
total
-rwxr-xr-x root root Jul : showdoc.db.php
bash-4.4# ls -ltr /showdoc_data/html/Public/Uploads
total
-rwxr-xr-x root root Jul : index.html
bash-4.4# ls -ltr /var/www/html/Public/Uploads
total
-rwxrwxrwx nginx nginx Jul : index.html

七、上传镜像到远程仓库

可以基于已有镜像 showdoc 的容器来创建新的 showdoc 镜像,然后将镜像推送到 Registry,此处使用阿里云的远程仓库。如下:

[root@masternode showdoc]# docker login --username=xxxxxx registry.cn-hangzhou.aliyuncs.com
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded
[root@masternode showdoc]# docker tag showdoc registry.cn-hangzhou.aliyuncs.com/moonxy/showdoc:latest
[root@masternode showdoc]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
showdoc latest 40d2089cc644 minutes ago 384MB
registry.cn-hangzhou.aliyuncs.com/moonxy/showdoc latest 40d2089cc644 minutes ago 384MB
nginx latest f68d6e55e065 days ago 109MB
hello-world latest fce289e99eb9 months ago .84kB
richarvey/nginx-php-fpm 1.5. 0b8e5203860f months ago 300MB
[root@masternode showdoc]# docker push registry.cn-hangzhou.aliyuncs.com/moonxy/showdoc:latest
The push refers to repository [registry.cn-hangzhou.aliyuncs.com/moonxy/showdoc]
33079a95bf6b: Pushed
0e506a4e952d: Pushed
......

进入阿里云的容器镜像服务中,可以看到自己的 push 的镜像,如下:

如果是公共仓库,可以将镜像地址提供给别人,供别人 pull,如下:

docker pull registry.cn-hangzhou.aliyuncs.com/moonxy/showdoc:latest

参考文档

showdoc的 docker 安装方式:https://www.showdoc.cc/help?page_id=65610

修改已有 docker 容器中的内容:https://blog.csdn.net/dechengtju/article/details/85009836

使用 Docker 安装 showdoc的更多相关文章

  1. Docker安装ShowDoc

    ShowDoc就是一个非常适合IT团队的在线文档分享工具,它可以加快团队之间沟通的效率. 一.下载showDoc资源 打开 https://github.com/star7th/showdoc 复制其 ...

  2. centos7 docker 安装showdoc

    可参考 http://www.showdoc.cc/help?page_id=65610 1.下载代码,并上传服务器 https://github.com/star7th/showdoc 解压之后我的 ...

  3. CentOS6.5利用Docker部署ShowDoc

    在Docker中部署ShowDoc 一.安装Docker 1.安装Docker yum install docker 最后出现Complete即可 2.启动服务 # service docker st ...

  4. docker 系列 - Docker 安装和Hub Mirror地址设置

    ======================为什么要使用Docker?======================= 容器真是个好东西, (1)容器能提供隔离性; (2)容器能打包环境, 简化部署难度 ...

  5. Docker搭建Showdoc

      基础安装 安装前请确保你的环境已经装好了docker docker pull star7th/showdoc #新建存放showdoc数据的目录 mkdir /opt/showdoc mkdir ...

  6. 理解Docker(1):Docker 安装和基础用法

    本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...

  7. docker安装

    系统要求:需要一个64位的centos7操作系统和版本3.10或更高版本的Linux内核 开始安装: uname -r   //查看内核版本yum -y update //更新系统更新到最新 #安装d ...

  8. 2. Docker - 安装

    一.Docker介绍 1. Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上, 也可以实现虚拟化. 容器时完全使用沙 ...

  9. Docker 安装部署

    Docker学习笔记 一.Ubuntu Docker 安装 (1).获取最新版本Docker安装包 lyn@lyn:/data/docker$ sudo wget -qO- https://get.d ...

随机推荐

  1. R 包 rgl 安装失败, 报错 X11 not found but required, configure aborted 及解决方法

    R 包 rgl 安装失败, X11 not found but required, configure aborted * installing *source* package ‘rgl’ ... ...

  2. 一文搞懂Python可迭代、迭代器和生成器的概念

    关于我 一个有思想的程序猿,终身学习实践者,目前在一个创业团队任team lead,技术栈涉及Android.Python.Java和Go,这个也是我们团队的主要技术栈. Github:https:/ ...

  3. 对微软的敌视何时休? 从一篇语言评论文章对C#的评价说起

    看到一篇公众号文章<2020年什么编程语言最受欢迎,待遇最高?>,其中对C#的描述如下: 点击阅读原文,看到这是一篇翻译文章:https://codinginfinite.com/top- ...

  4. centos7.x 安装系统/配置网络/设置主机名

    1.安装系统     系统的安装就不多说了,自行查找百度,如:https://www.cnblogs.com/wcwen1990/p/7630545.html   2.配置网络(局域网上网) 修改配置 ...

  5. 在ubuntu下使用CMake及VSCode对LoRaMac-node代码进行编译调试

    准备工作 下载代码LoRaMac-node  阅读LoRaMac-node目录下的doc文件夹中的development-environment.md 开工 安装所需环境 CMaka( >= 3 ...

  6. Mysql主从复制原理及搭建

    ## Mysql主从复制原理 主从复制是指一台服务器充当主数据库服务器,另一台或多台服务器充当从数据库服务器,主服务器中的数据自动复制到从服务器之中.对于多级复制,数据库服务器即可充当主机,也可充当从 ...

  7. IntelliJ IDEA 2019 快捷键终极大全,速度收藏!

    转载注明:https://blog.csdn.net/WantFlyDaCheng/article/details/100078777 自动代码 查询快捷键 其他快捷键 调试快捷键 重构 十大Inte ...

  8. Android Studio和 adb 的一些常用技巧

    AS和ADB的随身手册 工欲善其事,必先利其器. 最近因为换了Mac,很多地方有些不太适应,刚好最近有想写一篇记录一些小工具技巧的文章,顺便就把Mac中AS常用的快捷键也一并对应记录起来吧. 以下为A ...

  9. HDU 4685

    题意略. 思路: 本题和POJ1904颇为相似,只是那个最大匹配没有现成的,要我们自己求出来.并且要给每一个单身的王子/公主现找一个虚拟的对象. 这也是合乎情理的,王子每一次换一个公主时,可能会导致某 ...

  10. Leetcode之二分法专题-287. 寻找重复数(Find the Duplicate Number)

    Leetcode之二分法专题-287. 寻找重复数(Find the Duplicate Number) 给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和  ...