redmine迁移:

准备:

首先将volume中的数据迁移到对应相同的目录里,将redmine中以下目录中的所有数据拷贝到新的机器中对应的目录中 /srv/docker/redmine/postgresql /srv/docker/redmine/redmine

举例来说:

scp -r /srv/docker/redmine/redmine [email protected]:/srv/docker/redmine

实施:

redmine有官方和非官方的镜像,由于便于安装,本例使用的是dockerhub中使用最多的非官方镜像——sammersbn/redmine,详情请参考sameersbn/redmine

1、确保Linux机器中已经安装过docker,若没有安装,则执行命令

wget -qO- https://get.docker.com/ | sh

具体docker的安装方法请参考官方文档docker install,本例不作详细说明

2、pull镜像,可以在镜像名后加上所需版本号

docker pull sameersbn/redmine:3.1.4-6

3、生成容器

方法一:使用docker-compose命令快速安装(推荐使用)

wget https://raw.githubusercontent.com/sameersbn/docker-redmine/3.1-stable/docker-compose.yml

docker-compose up

方法二:分别手动运行容器

(1)运行postgresql容器

docker run --name=postgresql-redmine -d \
--env='DB_NAME=redmine_production' \
--env='DB_USER=redmine' --env='DB_PASS=password' \
--volume=/srv/docker/redmine/postgresql:/var/lib/postgresql \
sameersbn/postgresql:9.4-21

(2)运行redmine容器

docker run --name=redmine -d \
--link=postgresql-redmine:postgresql --publish=10083:80 \
--env='REDMINE_PORT=10083' \
--volume=/srv/docker/redmine/redmine:/home/redmine/data \
sameersbn/redmine:3.1.4-6

4、输入localhost:10083测试是否连接成功,账号密码为admin/admin

5、下载scrum插件、redcase插件,并将两个插件解压后的文件夹拷贝到/srv/docker/redmine/redmine/plugins目录中(关于redmine中所涉及到plugins的使用请参考http://www.redmine.org/projects/redmine/wiki/Plugins

6、进入所安装好的redmine容器中,进行插件的安装

docker exec -it [redmine Container ID] /bin/bash
cd /srv/docker/redmine/redmine
apt-get update
bundle install

7、安装scrum

bundle exec rake redmine:plugins:migrate RAILS_ENV='production'

8、安装redcase

For Redmine 1.x:

bundle exec rake db:migrate_plugins RAILS_ENV=production

For Redmine 2.x:

bundle exec rake redmine:plugins:migrate RAILS_ENV=production

9、安装主题:

这里安装的主题是gitmike,安装过程详见github

执行安装会报错,提示需要安装ruby和rubygems包

安装ruby的两个依赖包

apt-get install ruby
apt-get install rubygems

再执行主题的安装即可

gem install compass
npm install -g gulp
npm install
gulp debug

gitlab迁移

准备:

gitlab迁移涉及到很多代码和账户的数据,所以一定要在没有对gitlab修改的条件下进行!

1、首先将volume中的数据迁移到对应相同的目录里,将gitlab中以下目录中的所有数据拷贝到新的机器中对应的目录中:

/srv/docker/gitlab/postgresql
/srv/docker/gitlab/redis
/srv/docker/gitlab/gitlab

举例来说:

scp -r /srv/docker/gitlab/postgresql [email protected]:/srv/docker/gitlab

实施:

1、使用docker-compose方式安装(推荐使用)

wget https://raw.githubusercontent.com/sameersbn/docker-gitlab/master/docker-compose.yml
docker-compose up

2、手动方式安装

(1)安装Postgresql容器

docker run --name gitlab-postgresql -d \
--env 'DB_NAME=gitlabhq_production' \
--env 'DB_USER=gitlab' --env 'DB_PASS=password' \
--env 'DB_EXTENSION=pg_trgm' \
--volume /srv/docker/gitlab/postgresql:/var/lib/postgresql \
sameersbn/postgresql:9.4-21

(2)安装redis容器

docker run --name gitlab-redis -d \
--volume /srv/docker/gitlab/redis:/var/lib/redis \
sameersbn/redis:latest

(3)安装gitlab容器

docker run --name gitlab -d \
--link gitlab-postgresql:postgresql --link gitlab-redis:redisio \
--publish 10022:22 --publish 10080:80 \
--env 'GITLAB_PORT=10080' --env 'GITLAB_SSH_PORT=10022' \
--env 'GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alpha-numeric-string' \
--volume /srv/docker/gitlab/gitlab:/home/git/data \
sameersbn/gitlab:8.7.6

4、本例中修改/srv/docker/gitlab中下载的docker-compose.yml中参数,TZ 改为北京时区 GITLAB_HOST 改为本机gitlab的地址,这个值会被Gitlab用来生成repo的链接,所以必须要设置。否则,在创建的repo中,会发现所有的repo链接都是以localhost为hostname

5、在浏览器中输入本机的gitlab地址,端口为10080即可 例如:192.168.1.91:10080

附: GitLab的一系列配置信息(如:GitLab_HOST、Mail、LDAP等)目前还无法从web界面进行配置。 而docker-gitlab为这提供了以环境变量的形式提供了一系列可配置的参数,这些环境变量需要在GitLab镜像启动的时候指定。 如果当前GitLab容器已启动,可以停止、删除容器,然后基于GitLab镜像指定环境变量再创建、启动新容器即可。

jenkins迁移

准备:

首先将volume中的数据迁移到对应相同的目录里,将jenkins中以下目录中的所有数据拷贝到新的机器中对应的目录中: /srv/docker/jenkins/jenkins /srv/docker/jenkins/gradle

举例来说:

scp -r /srv/docker/jenkins/jenkins [email protected]:/srv/docker/jenkins

实施:

1、pull一个最新的jenkins的镜像

docker pull jenkins

2、运行生成容器(本例中需要在jenkins容器中实现docker命令,以及在docker中集成了docker-compose和gradle自动化构建工具)

docker run -u root -p 8080:8080 --name jenkins \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $(which docker):/bin/docker \
-v /usr/local/bin/docker-compose:/usr/local/bin/docker-compose \
-v /srv/docker/jenkins/jenkins:/var/jenkins_home \
-v /srv/docker/jenkins/gradle:/root/.gradle \
--privileged -d jenkins

3、进入jenkins容器的命令行界面

docker exec -it jenkins /bin/bash

4、在容器中安装docker(和宿主机上安装过程一样)

(1) apt-get update

(2) 再执行apt-get install vim

这样就可以使用vim命令来编辑docker源了(吐槽一下:官方的源实在是太慢太慢了...会经常失败,多试几次即可)

(3) cd /etc/apt/sources.list.d

修改里面的.list文件,如果没有可以新建一个*.list 文件(例如aliyun.list),这里添加阿里源,将下面的源地址添加进文件后保存

deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse

(4) apt-get install wget

(5) apt-get install apt-utils

(6) 安装docker ,执行命令 wget -qO- https://get.docker.com/ | sh

(7) 输入docker ps测试下是否可用

(8) apt-get install docker-compose

(9) 输入docker-compose测试是否可用

(10) exit退出

5、在浏览器中输入本机jenkins地址,端口为8080,点击新建,如下图

输入Item名称,单击“构建一个自由风格的软件项目”

在构建中选择“Excute shell”,在输入框中输入docker ps,点击保存

单击立即构建,就会发现已经构建成功(这里是手动构建,可以配置自动构建,此处不深入探讨)

单击进入Console Output,可以查看刚刚在shell框中输入的docker命令

6、最后commit成新的镜像

docker commit [Container ID] [images:version]

results matching ""

    No results matching ""