Client version: 0.7.0 Go version (client): go1.2rc5 Git commit (client): 0d078b6 Server version: 0.7.0 Git commit (server): 0d078b6 Go version (server): go1.2rc5 Last stable version: 0.7.0
固然是去咱們最可愛得index.docker.io上去搜尋啦。 html
sudo docker search gitlab-ci #從docker index搜尋gitlab-ci的鏡像
這裏有不少的可用image不少,這些都是用戶上傳的,能夠本身選擇,我通常都是看TRUSTED欄有ok的就能夠,這是我本身猜的啊,你根據本身的經驗來就行。我選的是anapsix/gitlab-ci,看這個比較順眼,就它了。 mysql
彆着急讓你下載的鏡像跑起來,咱們把別人的成果偷來以後總不能不會用把,接着去https://index.docker.io 去看看咱們偷來的東西是誰的,怎麼樣讓這個東東跑起來。 git
看看,人家都教你怎麼用啦。人家還告訴你怎麼作的這個鏡像,就是咱們的Dockerfile。不過我是要和本身內網的Gitlab上用,因此直接拷貝下來的東西不能用。 github
這是Dockerfile的內容: redis
FROM tianon/debian #基礎鏡像包 MAINTAINER Anastas Semenov <anapsix@random.io> #做者RUN apt-get update #run跑的是命令 sql
#底下這一部分和實體機上安裝相似,可是仍是有很大的不一樣,我就掉進這個坑裏去過。 RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --force-yes libxml2-dev libxslt-dev libcurl4-openssl-dev libreadline6-dev libc6-dev libssl-dev libyaml-dev libicu-dev zlib1g-dev libsqlite3-dev wget curl gcc build-essential make git sudo postfix cron ruby1.9.1 ruby1.9.1-dev rubygems-integration redis-server RUN gem install bundle --no-ri --no-rdoc RUN adduser --disabled-login --gecos 'GitLab CI' gitlab_ci RUN cd /home/gitlab_ci; sudo -u gitlab_ci -H git clone -b 3-2-stable --depth 1 https://github.com/gitlabhq/gitlab-ci.git gitlab-ci RUN cd /home/gitlab_ci/gitlab-ci; sudo -u gitlab_ci -H mkdir -p tmp/pids tmp/sockets RUN cd /home/gitlab_ci/gitlab-ci; curl -sL https://raw.github.com/anapsix/gitlabci-docker/master/BUNDLER-adding-sqlite3-support.patch | sudo -u gitlab_ci -H git am RUN cd /home/gitlab_ci/gitlab-ci; sudo -u gitlab_ci -H bundle install --without development test postgres mysql --deployment RUN cd /home/gitlab_ci/gitlab-ci; sudo -u gitlab_ci -H curl -sL https://raw.github.com/anapsix/gitlabci-docker/master/gitlab_ctrl.rb > ./gitlabci_ctrl.rb; chmod +x ./gitlabci_ctrl.rb RUN cd /home/gitlab_ci/gitlab-ci; sudo -u gitlab_ci -H ./gitlabci_ctrl.rb --db --puma --app GITLAB_URLS="https://dev.gitlab.org/" RUN cd /home/gitlab_ci/gitlab-ci; sudo -u gitlab_ci -H bundle exec rake db:setup RAILS_ENV=production RUN cd /home/gitlab_ci/gitlab-ci; sudo -u gitlab_ci -H bundle exec whenever -w RAILS_ENV=production # cleanup, if needed #RUN DEBIAN_FRONTEND=noninteractive apt-get remove --force-yes -y ruby1.9.1-dev #RUN DEBIAN_FRONTEND=noninteractive apt-get autoremove --force-yes -y EXPOSE 9000 #container開的端口 WORKDIR /home/gitlab_ci/gitlab-ci CMD /home/gitlab_ci/gitlab-ci/gitlabci_ctrl.rb --start #啓動命令
就至關與你偷了別人的東西(打個好比)不會用,去找人家,人家還告訴你這個東西怎麼用,並且還告訴你這個東西是怎麼作出來的。哈哈哈,真是個好yin。 docker
這下前因後果都弄清楚以後,咱們修改鏡像就要跑本身的東西啦。 shell
docker run -i -t anapsix/gitlab-ci /bin/bash
docker run anapsid/gitlab-ci :是讓docker用anapsid/gitlab-ci鏡像跑進一個container裏面 ruby
-i -t 是進入這個container,如今咱們就在容器裏面去了。 bash
由於我事先看過如何去實體機上安裝Gitlab CI,因此進去就直接修改文件,改爲能與本地Gitlab服務器呼應。
https://github.com/gitlabhq/gitlab-ci/blob/master/doc/installation.md (gitlab-ci安裝教程)
http://www.cnblogs.com/inbase/p/3276310.html (這個是按照教程作的實驗以及遇到的問題)
進入容器以後修改:
其餘的不用改。而後退出exit退出,而且用docker ps -l查看container號,這時上一行會有一個用docker commit提交你修改的部分。
exitdocker ps -l #這一行會產生一個container ID,下一行命令會用到。
docker commit 你的container-ID liql/gitlab-ci #把你在anapsid/gitlab-ci修改的部分固 #化成你本身的images
而後就能夠跑起來啦
1.方法一:
docker run -d -p 9000:9000 liql/gitlab-ci /home/gitlab_ci/gitlab-ci/gitlabci_ctrl.rb --start
2.方法二:
docker run -i -t -p 9000:9000 liql/gitlab-ci #這是進入container的命令
/home/gitlab_ci/gitlab-ci/gitlabci_ctrl.rb --start
這裏千萬不能exit,用ctrl+p 而後 ctrl+q 這個時候就看到容器在跑了。
而後訪問你的http://192.168.0.211:9090 就會看到驚喜了。
大功告成。收穫多多啊。