设为首页 收藏本站
查看: 1758|回复: 0

[经验分享] Docker实践3:fig搭建mediawiki

[复制链接]

尚未签到

发表于 2015-10-13 12:23:40 | 显示全部楼层 |阅读模式
  fig,无花果。fig项目源自docker,可以认为是快速搭建基于Docker的隔离开发环境的工具。


一、安装fig
$ mkdir docker; cd docker
$ curl -L https://github.com/docker/fig/releases/download/1.0.1/fig-`uname -s`-`uname -m` > fig
$ sudo chmod +x fig; sudo mv fig /usr/local/bin/

二、搭建mediawiki
  
  使用个人构建的镜像,github地址:https://github.com/bopjiang/wikimedia-docker
  在docker目录下执行如下命令:
  
$ git clone https://github.com/bopjiang/wikimedia-docker.git
$ cd wikimedia-docker
$ fig up -d
此时有两个容器启动:  
  
r$ docker ps
CONTAINER ID        IMAGE                           COMMAND                CREATED             STATUS              PORTS                  NAMES
21182a060c17        nickstenning/mediawiki:latest   "/usr/bin/mediawiki-   7 hours ago         Up 7 hours          0.0.0.0:8880->80/tcp   wikimediadocker_wiki2_1   
728ec09c3552        mysql:5.7.5                     "/entrypoint.sh mysq   7 hours ago         Up 7 hours          3306/tcp               wikimediadocker_db_1      
三、fig.yml
  fig.yml用来配置镜像构建的具体内容,此wiki的fig.yml在wikimedia-docker目录下,内容如下:
  
wiki2:
image: 'nickstenning/mediawiki'
ports:
- "8880:80"
links:
- db:database
volumes:
- /data/wiki2:/data
db:
image: "mysql:5.7.5"
expose:
- "3306"
environment:
- MYSQL_ROOT_PASSWORD=defaultpass
image:用来指定镜像,如果本地没有,fig将会尝试去远程pull这个镜像。
ports:暴露的端口.  
  links:在其他服务中连接容器。

  volumes: 卷挂载路径,容器中的/data/目录挂载到主机的/data/wiki2下。在wiki配置完毕后,将LocalSettings.php文件放置在主机的/data/wiki2目录下。

  expose:也是暴露端口,与ports的区别是不发布到宿主机的端口,只被连接的服务访问。
  environment:设置环境变量。
四、wiki的配置
  浏览器中输入localhost:8880,首次启动会让进入配置界面。完成后生成LocalSettings.php文件。也可以直接在这个配置文件中作配置。
  生成的LocalSettings.php文件要拷到/data/wiki2目录下(配置文件中定义的卷挂载路径),并增加其r属性就可以了。
  还记得在yml配置文件中数据库主机名是什么吧?database,对了,那么在配置中也要这样填写,如图:
DSC0000.jpg

五、wiki的使用技巧
  1.左侧导航栏的配置
以管理员身份登录,在搜索栏中输入MediaWiki:sidebar
进入配置界面后就可以编辑了。比如:
<pre>
navigation
    http://192.168.0.111:8880/index.php?title=Category:XXX|XXX
    mainpage|mainpage-description
    portal-url|portal
</pre>
3.分类
文章的末尾加入&quot;category&quot;标签即可将此文章放到了xxx分类中,一篇文章可以加入多个分类。
比如:[[category:XXX]]
4.新文章
在Search中输入你的文章名称即可Edit。
5.换行
用br标签可以换行。<br>
空一行也会有换行效果。
6.pre标签包围源代码
例如:
<pre>
private int mSize;
</pre>

六、保存容器和导入
  
sudo docker commit 9ab6e234c9ba linc-wiki
sudo docker images REPOSITORY               TAG                 IMAGE ID            CREATED             VIRTUAL SIZE linc-wiki                latest              b5a1e34b01c2        14 seconds ago      689.7 MB
sudo docker export 9ab6e234c9ba > /home/linc/docker/images-bk/linc-wiki-export.tar
sudo docker save linc-wiki > ../images-bk/linc-wiki-save.tar
$ du -sh *
495M    linc-wiki-export.tar
672M    linc-wiki-save.tar
sudo cat /home/linc/docker/images-bk/linc-wiki-export.tar | sudo docker import - docker_hgweb
sudo docker load --input ../images-bk/linc-wiki-save.tar  
  

  附录:
  1.fig使用报错及解决
  
  fig running error:
$ fig up
Couldn't connect to Docker daemon at http:/ - is it running?
If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
  fix it:
1) Change the DOCKER_OPTS in /etc/default/docker to:
DOCKER_OPTS=&quot;-H tcp://127.0.0.1:4243 -H unix:///var/run/docker.sock&quot;
2) Restart docker
sudo restart docker
3) Make sure that docker is running on localhost:4243
$ netstat -ant  |grep 4243
tcp        0      0 127.0.0.1:4243          0.0.0.0:*               LISTEN
4) Set DOCKER_HOST (.bashrc)
export DOCKER_HOST=tcp://localhost:4243
$ echo $DOCKER_HOST
tcp://localhost:4243
  

  参考:
  dockerpool.com/static/books/docker_practice/fig/yml_ref.html

   
版权声明:本文为博主原创文章,未经博主允许不得转载。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-126271-1-1.html 上篇帖子: 用shipyard来管理docker 下篇帖子: Docker 使用方法总结之:管理工具 shipyard 的详细使用指南
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表