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 就会看到惊喜了。
大功告成。收获多多啊。