当前位置:   article > 正文

Docker从入门到进阶之进阶操作(6) —— 【在docker上运行gitlab】_downloaded newer image for registry.gitlab.cn/omni

downloaded newer image for registry.gitlab.cn/omnibus/gitlab-jh:latest

上一章节讲了使用docker来做nginx的负载均衡,这一章节讲【在docker上运行gitlab

在本章节中,将为您演示如何在docker上运行gitlab

GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务,想必各位开发者在日常代码开发需要将代码同步至Github或者Gitee仓库中,也有可能由于某些网络和审计原因,我们不能将代码托管到公共仓库,那么我们可以构建自己的私有代码托管仓库---gitlab

1.拉取镜像

本次使用的是极狐GitLab Docker 镜像,是极狐GitLab 的整体镜像,在单个容器中运行所有必要的服务

  1. [root@base ~]# docker pull registry.gitlab.cn/omnibus/gitlab-jh:latest
  2. Trying to pull repository registry.gitlab.cn/omnibus/gitlab-jh ...
  3. latest: Pulling from registry.gitlab.cn/omnibus/gitlab-jh
  4. 3b65ec22a9e9: Pull complete
  5. 9ce3f6b2507d: Pull complete
  6. ac19a78281d5: Pull complete
  7. bb3c3f1c8644: Pull complete
  8. 68ca2a4567a0: Pull complete
  9. bc72d87c5eba: Pull complete
  10. 39c50a8c026b: Pull complete
  11. 8a5f2ec13e24: Pull complete
  12. Digest: sha256:f21efbd86aadfe2e353799d56811a09a507c7fcf40cd2999fb16237b72469128
  13. Status: Downloaded newer image for registry.gitlab.cn/omnibus/gitlab-jh:latest
  14. [root@base ~]# docker images
  15. REPOSITORY TAG IMAGE ID CREATED SIZE
  16. mysql latest d39235e17905 5 days ago 571 MB
  17. <none> <none> 75279e2d58b5 5 days ago 101 MB
  18. nginx_alb latest 4e28f6e4fc6a 6 days ago 390 MB
  19. ssh-server latest 4e28f6e4fc6a 6 days ago 390 MB
  20. registry.gitlab.cn/omnibus/gitlab-jh latest e1136770c69f 7 days ago 2.91 GB
  21. docker.io/registry latest 3a0f7b0a13ef 3 weeks ago 24.1 MB
  22. docker.io/ubuntu <none> df5de72bdb3b 4 weeks ago 77.8 MB
  23. docker.io/nginx latest 605c77e624dd 8 months ago 141 MB
  24. docker.io/ubuntu latest ba6acccedd29 10 months ago 72.8 MB
  25. docker.io/centos 7 eeb6ee3f44bd 11 months ago 204 MB
  26. 复制代码

 

2.设置卷位置

其实就是设置待会gitlab容器需要挂载卷的位置,当然这些需要提前在宿主机创建

2.1 在宿主机创建卷

  1. [root@base ~]# mkdir /opt/gitlab
  2. [root@base ~]# ls -l /opt/
  3. total 0
  4. drwxr-xr-x. 2 root root 6 Aug 31 18:31 gitlab
  5. [root@base ~]# chmod a+w /opt/gitlab/
  6. [root@base ~]# ls -l /opt/
  7. total 0
  8. drwxrwxrwx. 2 root root 6 Aug 31 18:31 gitlab
  9. 复制代码

 

2.2 声明环境变量

  1. [root@base ~]# export GITLAB_HOME=/opt/gitlab
  2. # 查看
  3. [root@base ~]# export |grep GITLAB_HOME
  4. declare -x GITLAB_HOME="/opt/gitlab"
  5. 复制代码

 

3.运行gitlab容器

原本官方使用的是 22:22端口映射,但是因为宿主机已经在使用22的端口,那么就修改一下映射为10022

  1. [root@base ~]# sudo docker run --detach \
  2. > --publish 443:443 --publish 80:80 --publish 10022:22 \
  3. > --name gitlab \
  4. > --restart always \
  5. > --volume $GITLAB_HOME/config:/etc/gitlab \
  6. > --volume $GITLAB_HOME/logs:/var/log/gitlab \
  7. > --volume $GITLAB_HOME/data:/var/opt/gitlab \
  8. > --shm-size 256m \
  9. > registry.gitlab.cn/omnibus/gitlab-jh:latest
  10. b848d1c24944b551525007c4f2749e08ae327b6d8ad9934776c0c038348a517f
  11. [root@base ~]# docker ps -a
  12. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  13. b848d1c24944 registry.gitlab.cn/omnibus/gitlab-jh:latest "/assets/wrapper" 9 seconds ago Up 5 seconds (health: starting) 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:10022->22/tcp gitlab
  14. 7dda8b117154 registry "/entrypoint.sh /e..." 6 days ago Up 3 hours 0.0.0.0:5000->5000/tcp registry
  15. 复制代码

4.配置gitlab

进入容器再操作

  1. [root@base ~]# docker exec -it gitlab bash
  2. root@0fd6622feef2:/#
  3. 复制代码

4.1 修改gitlab.rb文件(容器 /etc/gitlab/ 目录)

  1. root@0fd6622feef2:/# vi /etc/gitlab/gitlab.rb
  2. # 修改external_url 'GENERATED_EXTERNAL_URL'
  3. external_url 'http://192.168.200.201'
  4. # 设置ssh链接,使用宿主机的外部端口
  5. gitlab_rails['gitlab_ssh_host'] = '192.168.200.201'
  6. gitlab_rails['gitlab_shell_ssh_port'] = 10022
  7. 按下ESC
  8. :wq #保存退出
  9. 复制代码

4.2 修改gitlab.yaml文件(容器 /opt/gitlab/embedded/service/gitlab-rails/config/ 目录)

  1. root@0fd6622feef2:/# vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
  2. # 13行 host修改为 宿主机IP地址
  3. host: 192.168.200.201
  4. ssh_host: 192.168.200.201
  5. 按下ESC
  6. :wq #保存退出
  7. 复制代码

 

4.3 重启gitlab(容器内操作)

  1. # 如果timeout(超时),那么多重启几次
  2. root@0fd6622feef2:/# gitlab-ctl restart
  3. ok: run: alertmanager: (pid 2390) 1s
  4. ok: run: gitaly: (pid 2398) 0s
  5. ok: run: gitlab-exporter: (pid 2412) 0s
  6. ok: run: gitlab-kas: (pid 2414) 0s
  7. ok: run: gitlab-workhorse: (pid 2422) 0s
  8. ok: run: logrotate: (pid 2433) 0s
  9. ok: run: nginx: (pid 2439) 1s
  10. ok: run: postgres-exporter: (pid 2445) 0s
  11. ok: run: postgresql: (pid 2453) 1s
  12. ok: run: prometheus: (pid 2462) 0s
  13. ok: run: puma: (pid 2472) 1s
  14. ok: run: redis: (pid 2477) 0s
  15. ok: run: redis-exporter: (pid 2483) 0s
  16. ok: run: sidekiq: (pid 2571) 0s
  17. ok: run: sshd: (pid 2577) 1s

绵薄之力

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走

​这些资料,对于想进阶【自动化测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…….

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/120048?site
推荐阅读
相关标签
  

闽ICP备14008679号