DevOps
- Gitlab CE
- Jenkins
- Nexus Gitlab CE
https://hub.docker.com/r/gitlab/gitlab-ce/
https://docs.gitlab.com/omnibus/docker/README.html
$ docker pull gitlab/gitlab-ce sudo docker run --detach \
--hostname gitlab.example.com \
--publish 443:443 --publish 80:80 --publish 22:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest 或者(启用SELinux的情况) sudo docker run --detach \
--hostname gitlab.example.com \
--publish 443:443 --publish 80:80 --publish 22:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab:Z \
--volume /srv/gitlab/logs:/var/log/gitlab:Z \
--volume /srv/gitlab/data:/var/opt/gitlab:Z \
gitlab/gitlab-ce:latest Local location Container location Usage
/srv/gitlab/data /var/opt/gitlab For storing application data
/srv/gitlab/logs /var/log/gitlab For storing logs
/srv/gitlab/config /etc/gitlab For storing the GitLab configuration files 其中gitlab.example.com(可不必)替换成自己的服务器域名或者ip地址,首次运行,数据库资料、文件链接等都会自动被创建,用logs查看情况:
$ sudo docker logs gitlab -f 配置文件:/etc/gitlab/gitlab.rb
可以用exec -it去编辑:
$ sudo docker exec -it gitlab vi /etc/gitlab/gitlab.rb 配置后,用restart重启
$ sudo docker restart gitlab 关于配置文件:
external_url 如果是https,可配置下,因为是在容器中,默认的80端口不需要修改。
https、SMTP详细配置:
https://docs.gitlab.com/omnibus/settings/nginx.html#enable-https
https://docs.gitlab.com/omnibus/settings/smtp.html Jenkins
https://hub.docker.com/r/jenkinsci/blueocean/
https://jenkins.io/doc/book/installing/#docker
$ docker pull jenkinsci/blueocean docker run \
-d \
-p 8080:8080 \
-v jenkins-data:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
--name jenkins \
--restart always \
jenkinsci/blueocean 官方版本:
docker run \
-u root \
--rm \
-d \
-p 8080:8080 \
-p 50000:50000 \
-v jenkins-data:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
jenkinsci/blueocean
详细介绍见前面的#docker链接 运行后,通过 docker logs jenkins -f 能看到初始管理员密码,如果没看见,可以用下面命令查看:
$ docker exec -it jenkins cat /var/jenkins_home/secrets/initialAdminPassword
打开浏览器,输入初始密码,进入安装向导,按提示配置即可。 常用插件:(**开头的应该是自带的,*为其他)
Ansible pllugin
AnsiColor
Artifactory Plugin
**Blue Ocean
Consul Plugin
Delivery Pipeline Plugin
Docker plugin
GitLab Plugin
Marathon Deployment
Maven Dependency Update Trigger
Maven Info Plugin
Maven Metadata Plugin for Jenkins CI server
Maven Release Plug-in Plug-in
Maven Repository Server Plugin
MSBuild Plugin
NodeJS Plugin
packer
Parameterized Scheduler
Pipeline Maven Integration Plugin
Pipeline NPM Integration Plugin
SSH Agent Plugin
Terraform Plugin
**Timestamper
Unleash Maven Plugin
*Gogs plugin Nexus
https://hub.docker.com/r/sonatype/nexus3/
https://github.com/sonatype/docker-nexus3
https://www.sonatype.com/download-oss-sonatype
支持: Bower Docker Git LFS Maven npm NuGet PyPI Ruby Gems Yum Proxy
$ docker pull sonatype/nexus3
映射卷注意:因为nexus-data要求UID 200,下面是创建一个nexus-data卷后,用inspect命令查看路径,
然后手动设置本机实际路径所有者为UID 200后,再调用run命令,否则会启动失败。
docker volume create --name nexus-data
docker volume inspect nexus-data
sudo chown -R 200 /var/lib/docker/volumes/nexus-data/_data
docker run -d -p 8081:8081 -v nexus-data:/nexus-data --restart always --name nexus sonatype/nexus3
如果将配置Docker仓库在5001,还有加入 -p 5001:5001,如下:
docker run -d -p 8081:8081 -p 5001:5001 -v nexus-data:/nexus-data --restart always --name nexus sonatype/nexus3
其他类同。 用 docker logs -f nexus 查看启动日志。 测试释放成功:curl -u admin:admin123 http://localhost:8081/service/metrics/ping
更详细见:https://hub.docker.com/u/sonatype/
Default credentials are: admin / admin123 -----------------
Docker Hub(私有)
-----------------
官方:https://hub.docker.com/_/registry/
参考:https://docs.docker.com/registry/deploying/
$ docker run -d -p 5000:5000 --restart=always --name registry registry 查看有几个仓库
http://RegistryServer:5000/v2/_catalog
查看某个仓库的tags
http://RegistryServer:5000/v2/RegistryName/tags/list 存储选项(-v 宿主机全路径:容器全路径[:ro|rw],在类UNIX系统中`pwd`返回当前目录)
-v `pwd`/data:/var/lib/registry
这行意思是将当前目录下的data目录,作为容器/var/lib/registry的映射目录。
注意:Windows系统,路径要用/代替\,并且在Docker配置Shared Drivers里开启了对应盘符的共享。 假设私有Docker Hub主机名是RegistryServer,当然IP也可以,用tag命令打一个新标签,然后用push推送到服务器:
$ docker tag m2nlight/static_web RegistryServer:5000/m2nlight/static_web
$ docker images
$ docker push RegistryServer:5000/m2nlight/static_web
如果push失败:
Get https://RegistryServer:5000/v1/_ping: http: server gave HTTP response to HTTPS client
需要在客户机的Docker加入对服务器的信任配置:
mac: 进入Docker配置的Advanced页,在Insecure registries列表里加入如:RegistryServer:5000
win: 进入Docker设置的Docker Daemon选项,在右边的json格式文本框的insecure-registries后加入:RegistryServer:5000
linux: $ vim /etc/docker/daemon.json
{
"insecure-registries": ["RegistryServer:5000"]
}
$ systemctl restart docker
重启客户机Docker生效。 被tag的“镜像”,同样适用其他镜像操作,比如rmi“删除”。 -----------------
Registry Frontend
-----------------
https://hub.docker.com/r/konradkleine/docker-registry-frontend/
https://github.com/kwk/docker-registry-frontend
$ konradkleine/docker-registry-frontend:v2
注意:v2是最新版本。 sudo docker run \
-d \
-e ENV_DOCKER_REGISTRY_HOST=192.168.48.10 \
-e ENV_DOCKER_REGISTRY_PORT=5000 \
-e ENV_MODE_BROWSE_ONLY=true \
-p 8080:80 \
--restart=always \
--name=registry-frontend \
konradkleine/docker-registry-frontend:v2 更多参数:
(1)Docker registry using SSL encryption
-e ENV_DOCKER_REGISTRY_USE_SSL=1
(2)SSL encryption
-e ENV_USE_SSL=yes \
-v $PWD/server.crt:/etc/apache2/server.crt:ro \
-v $PWD/server.key:/etc/apache2/server.key:ro \
-p 443:443 \
(3)Use the application as the registry
-e ENV_REGISTRY_PROXY_FQDN=ENTER-YOUR-APPLICATION-HOST-HERE \
-e ENV_REGISTRY_PROXY_PORT=ENTER-PORT-TO-YOUR-APPLICATION-HOST-HERE \
-e ENV_USE_SSL=yes \
-v $PWD/server.crt:/etc/apache2/server.crt:ro \
-v $PWD/server.key:/etc/apache2/server.key:ro \
-p 443:443 \
(4)其他
-e ENV_MODE_BROWSE_ONLY=true
-e ENV_DEFAULT_REPOSITORIES_PER_PAGE=50
更多见 https://hub.docker.com/r/konradkleine/docker-registry-frontend/

docker下运行Gitlab CE+Jenkins+Nexus3+docker-registry-frontend的更多相关文章

  1. Docker下安装GitLab

    1.需要先安装Docker和Docker Compose,参考:https://www.cnblogs.com/hackyo/p/9280042.html 2.配置GitLab SSL(可跳过): m ...

  2. docker 下安装gitlab

    1.找到docker镜像 docker search gitlab 2.下载gitlab镜像 docker pull  gitlab/gitlab-ce/ 3.通常会将 GitLab 的配置 (etc ...

  3. docker下部署gitlab

    docker用来隔离应用还是很方便的,一来本身的操作较为简单,二来资源占用也比虚拟机要小得多,三来也较为安全,因为像数据库这样的应用不会再全局暴露端口,同时应用间的通信通过加密和端口转发,更加安全. ...

  4. docker下运行labview2010

    前言 本人笔记本用kali,因课程需要,要在Linux下运行Labview,找到了2010的iso,但只支持rehat系列的发行版,用rpm转化deb的方案不可行,尝试了在virtualbox下运行w ...

  5. 在docker下运行mysql

    docker pull mysql 从镜像仓库中拉取mysql镜像. 运行镜像 到此mysql在docker容器下运行成功. 使用Navicat连接工具连接到mysql 经过以上步骤就完成了在dock ...

  6. Windows10 上Docker 安装运行Gitlab

    准备条件 安装好Docker For Windows客户端. 配置好Docker 阿里云加速镜像地址. 检查Docker版本,大于等于v19. 拉取Gitlab镜像 docker pull gitla ...

  7. docker 下运行 postgresql 的命令

    postgresql docker下启动的命令 docker run --name pgdata -p : -e POSTGRES_PASSWORD=Test6530 -v /pgdata:/var/ ...

  8. 用Docker下搭建GitLab

    最近试了一下Docker,发现用它搭建服务十分方便,就用它搭建了一个gitlab练练手. 首先下载gitlab镜像:         docker image pull gitlab/gitlab-c ...

  9. docker下搭建gitlab

    [root@localhost ~]# docker run \ > --name='gitlab' \ > -itd \ > --link gitlab_mysql:mysql \ ...

随机推荐

  1. Java 之多线程通信(等待/唤醒)

    多线程间通信: 多个线程在处理同一个资源, 但是任务却不同. 等待/唤醒机制 涉及的方法 wait(): 让线程处于冻结状态, 被 wait() 的线程会被存储到线程池中 notify(): 唤醒线程 ...

  2. 浅谈REDIS数据库的键值设计(转)

    add by zhj: 关系数据库表的一条记录可以映射成Redis中的一个hash类型,其实数据库记录本来就是键值对.这样,要比本文中的键设计用更少的键,更节省内存,因为每个键除了它的键值占用内存外, ...

  3. 分别用request和socket给百多发送请求

    1.方式1 import socket client = socket.socket() # 百度创建连接: 阻塞 client.connect(('www.baidu.com',80)) # 问百度 ...

  4. python web框架 Django的APP以及目录介绍 django 1.11版本

    如果有很多业务请求函数 应该放在app目录 很多业务放在主站上 当用户一点跳到分站 例如 一个项目叫运维平台  他的业务 有资产管理 私有云 监控 不同业务线 chouti项目 - chouti - ...

  5. 基于JSP的学术交流论坛系统的设计与实现

    版权声明:本文为[博主](https://zhangkn.github.io)原创文章.未经博主同意不得转载. https://creativecommons.org/licenses/by-nc-s ...

  6. C#笔试面试宝典值得收藏

    又是一年换工作纠结的季节,前一阵子由于工作的缘故,薪资降低,加之被其他部门以莫须有的罪名投诉:固然愤慨之,遂升起离职念想,下面是这几天电话面试和笔试中常问到的问题汇总,给大家分享下,不足之处往大神拍砖 ...

  7. 判断json格式中是否含有key

    1.obj["key"] != undefined 这种有缺陷,如果这个key定义了,并且就是很2的赋值为undefined,那么这句就会出问题了. 2.if("key& ...

  8. Appium 输入中文

    文章出处 http://www.cnblogs.com/ljfight/p/6089163.html 在做app自动化过程中会踩很多坑,咱们都是用中文的app,所以首先要解决中文输入的问题!本篇通过屏 ...

  9. Delphi 正则表达式之TPerlRegEx 类的属性与方法(1): 查找

    Delphi 正则表达式之TPerlRegEx 类的属性与方法(1): 查找 //查找是否存在 var   reg: TPerlRegEx; begin   reg := TPerlRegEx.Cre ...

  10. 236. Lowest Common Ancestor of a Binary Tree(最低公共祖先,难理解)

    Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree. According ...