fig,無花果。fig項目源自docker,可以認為是快速搭建基于Docker的隔離開發(fā)環(huán)境的工具。
$ 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/
使用個人構(gòu)建的鏡像,github地址:https://github.com/bopjiang/wikimedia-docker
在docker目錄下執(zhí)行如下命令:
$ 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用來配置鏡像構(gòu)建的具體內(nèi)容,此wiki的fig.yml在wikimedia-docker目錄下,內(nèi)容如下:
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的區(qū)別是不發(fā)布到宿主機的端口,只被連接的服務訪問。
environment:設(shè)置環(huán)境變量。
瀏覽器中輸入localhost:8880,首次啟動會讓進入配置界面。完成后生成LocalSettings.php文件。也可以直接在這個配置文件中作配置。
生成的LocalSettings.php文件要拷到/data/wiki2目錄下(配置文件中定義的卷掛載路徑),并增加其r屬性就可以了。
還記得在yml配置文件中數(shù)據(jù)庫主機名是什么吧?database,對了,那么在配置中也要這樣填寫,如圖:
1.左側(cè)導航欄的配置
以管理員身份登錄,在搜索欄中輸入MediaWiki:sidebar
進入配置界面后就可以編輯了。比如:
navigation
http://192.168.0.111:8880/index.php?title=Category:XXX|XXX
mainpage|mainpage-description
portal-url|portal
3.分類
文章的末尾加入"category"標簽即可將此文章放到了xxx分類中,一篇文章可以加入多個分類。
比如:[[category:XXX]]
4.新文章
在Search中輸入你的文章名稱即可Edit。
5.換行
用br標簽可以換行。
空一行也會有換行效果。
6.pre標簽包圍源代碼
例如:
private int mSize;
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="-H tcp://127.0.0.1:4243 -H unix:///var/run/docker.sock"
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
更多建議: