CentOS6.5利用Docker部署ShowDoc

在Docker中部署ShowDoc

一、安装Docker

1、安装Docker

yum install docker

最后出现Complete即可

2、启动服务

# service docker start

3、设置为开机启动

# chkconfig docker on

windows环境官网下载地址

二、安装git

# yum install git

 

最后出现Complete即可

三、安装ShowDoc项目

首先下载docker文件项目,然后build建立静态镜像文件(类似于Vmware的快照),最后根据此静态文件新建容器并运行。

1、clone项目

从github上clone代码到本地某个目录(你想放到哪里,就先进入到哪个目录)

# git clone -o gitbug https://github.com/star7th/showdoc

2、进入到showdoc目录,建立镜像并运行镜像

# cd showdoc/                     

# docker build -t showdoc ./             根据docker文件建立镜像,镜像名为showdoc,过程有点漫长耐心等待,结束永docker images查看镜像

# docker run -d --name showdoc -p 4999:80 showdoc      新建容器命名为showdoc,并运行showdoc镜像在(创建容器后用 docker start/stop container_id/container_name启动和关闭),映射本机的4999端口到虚拟机的80端口,如果想在不同端口启动,请修改4999为其它端口

3、访问ShowDoc

在浏览器输入网址   http://192.168.132.132:4999/install/      注意将IP地址替换成你服务器的IP地址

选择语言,点击OK按钮

点击进入网站首页即可。

四、备份

像API接口文档这种重要的文档,一定要定期备份。

/XXX/showdoc/Sqlite 下面有个showdoc.db.php文件,请定期备份。

这里的备份要进入到container容器中进行拷贝。

使用docker ps查看到该容器信息,接下来就使用docker attach进入该容器

$ docker ps   #查看正在运行的镜像 -a可以查看全部镜像(创建未启用),类似于docker container ls -a
$ sudo docker exec -it idorname /bin/bash   #根据容器id或者容器名称进入到该容器,查看要复制文件的路径,输入exit即可退出容器
$ docker cp contName:/var/www/html/Sqlite/showdoc.db.php /root/ #docker cp 容器名:/容器文件路径 /本机文件路径

将复制出来的数据文件替换掉docker项目文件中,重新建立镜像和容器即可。

其他docker常用命令

启动/关闭容器

docker start/stop container_id/name

删除容器

docker container rm container_id/name

查看镜像

docker images

删除镜像

docker rmi img_id/name

将正在运行的容器备份为镜像

方法一:先根据容器备份镜像,然后再导出镜像为tar包。迁移后加载镜像tar即可

docker container ls     #查看正在运行的镜像
docker commit -p 2d49b09911fe showdoc-container-backup   #根据container新建一个镜像
docker save -o ~/showdoc-cb.tar showdoc-container-backup   #将镜像备份到本地文件
docker load -i ~/showdoc-cb.tar     #根据备份的tar恢复镜像

方法二:直接根据容器导出tar,然后迁移后导入,恢复为镜像。

docker export -o ~/showdocback.tar showdoc   #根据容器导出tar压缩包
docker import ~/showdocback.tar showdoc-back:v1   #将tar压缩包直接导入到docker中,成为镜像

---------------------
参考:https://blog.csdn.net/duzilonglove/article/details/78980856

原文地址:https://www.cnblogs.com/aeolian/p/10669087.html