这里主要在Docker环境下记录搭建一些开发基础设施的方法与步骤, 方便大家参考
默认进行docker pull命令下载一些基础镜像时,是从国外源下载的,经常会网络超时失败,这时可以添加配置国内源,以便快速的进行下载;
修改 /etc/docker/daemon.json 文件中的”registry-mirrors”配置项
"registry-mirrors": ["https://registry.docker-cn.com"]
1 . 镜像下载
docker pull sonatype/nexus3
2 . 使用nexus镜像启动容器服务
docker run -d -p 8081:8081 --name nexus -v /data/nexus:/nexus-data sonatype/nexus3
3 . 访问nexus, 进行服务初始化 , 默认管理用户 [admin:admin123]
http://localhost:8081/
1 . 镜像下载
docker pull gitlab/gitlab-ce
2 . 使用Gitlab镜像启动容器服务
a) 启动
sudo docker run --detach \
--hostname 47.104.109.80 \
--publish 8043:443 --publish 8082:8082 --publish 8022:8022 \
--name gitlab \
--restart always \
--volume /data/gitlab/config:/etc/gitlab:Z \
--volume /data/gitlab/logs:/var/log/gitlab \
--volume /data/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce
b) 数据都在哪呢
c) 查看日志
gitlab-ctl tai
3 . 配置Gitlab的对外访问url
a) 修改gitlab的配置文件/data/config/gitlab.rb, 添加邮箱服务信息
external_url 'http://宿主机IP:8082/
gitlab_rails['gitlab_shell_ssh_port'] = 8022
b) 使配置生效
gitlab-ctl reconfigure
c) 修改容器对SSH服务的监听端口, 修改gitlab容器中 /asserts/sshd_config:
port 8022
4 . 配置Gitlab的邮件服务
a) 修改gitlab的配置文件/data/config/gitlab.rb, 以QQ邮箱为例添加邮箱服务信息
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "[email protected]"
gitlab_rails['smtp_password'] = "xxxxx"
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_openssl_verify_mode'] = 'peer'
# If your SMTP server does not like the default 'From: gitlab@localhost' you
# can change the 'From' with this setting.
gitlab_rails['gitlab_email_from'] = '[email protected]'
gitlab_rails['gitlab_email_reply_to'] = '[email protected]'
b) 使配置生效
gitlab-ctl reconfigure
c) 测试下发送邮件服务
// 进入控制台
gitlab-rails consol
// 发送测试邮件
Notify.test_email('receiver_email', 'email_title', 'email_content').deliver_now
还没有官方镜像, 需要自行在php环境容器中部署
1 . php-fpm镜像下载
docker pull richarvey/nginx-php-fpm
2 .下载eolinker安装包并解压到/data/ software/eolinker
这里写代码片
3 .启动容器
docker run
-e 'WEBROOT=/var/eolinker'
-v /data/eolinker:/var/eolinker
-p 7000:80 -p 9001:9000
--name eolinker -d richarvey/nginx-php-fpm
4 .访问服务
http://localhost:7000/
1 . 镜像下载
docker pull haha123/zenta
2 . 使用Gitlab镜像启动容器服务
docker run -d
--restart always -p 7002:80
--name zentao -v /data/zentao:/opt/zbox haha123/zentao
3 . 替换数据源, 禅道镜像默认使用内部的mariadb, 可以通过以下步骤切换为使用外部数据源
Dubbo-admin没有官方镜像,需要自行打包war,然后再部署到tomcat8的容器中即可;
1 . 下载源码并打包
git clone https://github.com/apache/incubator-dubbo-ops
cd incubator-dubbo-ops
mvn clean compile package
得到 incubator-dubbo-ops/dubbo-admin/target/dubbo-admin-2.0.0.war
2 . 修改dubbo-config文件 dubbo-admin-2.0.0.war:/WEB-INF/dubbo.properties
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.admin.root.password=root
dubbo.admin.guest.password=guest
3 . 用上面打包修改好的war构建部署镜像, 以Dockerfile的方式
Dockerfile
# origin parent
FROM dockerbase/tomcat8
# auther
MAINTAINER "[email protected]"
# add war package file
ADD dubbo-admin-2.0.0.war /usr/local/tomcat/webapps/
# start service
CMD ["catalina.sh", "run"]
build
docker build -t hisoka/dubbo-admin:v2 .
4 . 启动容器服务
# 先启动一个zk
docker run -p 2181:2181 --name dubbo-zookeeper --restart always -d zookeeper
# 再启动dubbo-admin服务
docker run -p 8081:8080 --name dubbo-admin --link dubbo-zookeeper:zookeeper -d hisoka/dubbo-admin:v2
5 . 访问服务, 登录口令[root, root]
http://localhost:8081/dubbo-admin-2.0.0/