Docker中搭建配置Git环境的过程
Docker中配置Git环境
工作中遇到了需要在Docker环境中操作GitLab仓库的场景,需要事先在Docker中搭好Git环境。
由于在Docker中对Git仓库操作是全自动化的,因此需要免密拉取仓库和提交等操作,我这里是使用SSH来进行免密操作。
所以首先是配置SSH,其次是配置Docker环境。
配置SSH Key
先生成SSH key:
ssh-agent eval $(ssh-agent -s) ssh-keygen -o -t rsa -b 4096 -C "{username}" ssh-add ~/.ssh/id_rsa //添加到.bashrc中
进入GitLab页面并登录,然后选择Setting,
在左侧导航栏选择SSH Keys
将之前生成的公钥id_rsa.pub
文件内容(该文件在~/.ssh/id_rsa.pub
)拷贝到这个区域:
然后点击Add key:
这样这个 SSH 公钥 就和 GitLab 用户绑定好了,以后用该用户就可以进行免密操作该Git仓库了。
配置Docker环境
首先将私钥拷贝到Dockerfile的同级目录(前提是项目中有Dockerfile),然后配置Docker文件。
# configuration ssh enviroment for gitlab RUN mkdir -p /root/.ssh COPY id_rsa /root/.ssh/ RUN echo "StrictHostKeyChecking no" >> /etc/ssh/ssh_config \ && echo "UserKnownHostsFile /dev/null" >> /etc/ssh/ssh_config RUN git config --global user.email "username@email.com" \ && git config --global user.name "username"
在其中插入这么一段代码即可,user.email和user.name使用之前配置GitLab SSH Key的账号。
至此,Docker中就可以免密操作Git仓库了。
可能的错误
如果还存在以下错误:
则表示私钥 id_rsa 权限问题,通过在 Dockerfile 中加入
RUN chown 1000:1000 /root/.ssh/id_rsa
问题便得以解决。
到此这篇关于Docker中搭建配置Git环境的过程的文章就介绍到这了,更多相关Docker配置Git环境内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
基于Docker部署GitLab环境搭建的方法步骤
注意:建议虚拟机内存2G以上,一定要配置阿里云的加速镜像 1.下载镜像文件 docker pull beginor/gitlab-ce:11.0.1-ce.0 2.创建GitLab 的配置 (etc) . 日志 (log) .数据 (data) 放到容器之外, 便于日后升级 mkdir -p /mnt/gitlab/etc mkdir -p /mnt/gitlab/log mkdir -p /mnt/gitlab/data 3.运行GitLab容器 进入/mnt/gitlab/etc目录,运行一
-
基于Docker+K8S+GitLab/SVN+Jenkins+Harbor搭建持续集成交付环境的详细教程
环境搭建概述 亲爱的家人们可以到链接:http://xiazai.jb51.net/202105/yuanma/javayaml_jb51.rar 下载所需要的yaml文件. 1.K8S是什么? K8S全称是Kubernetes,是一个全新的基于容器技术的分布式架构领先方案,基于容器技术,目的是实现资源管理的自动化,以及跨多个数据中心的资源利用率的最大化. 如果我们的系统设计遵循了kubernetes的设计思想,那么传统系统架构中那些和业务没有多大关系的底层代码或功能模块,都可以使用K8S来管
-
使用Docker构建一个Git镜像使用clone仓库
概述 使用docker已经有一年多了,最近意识到,我在快速编排服务的时候,shell脚本里用到的git还是原生的 于是打算也将git容器化,在dockerhub上搜罗了一筐,找到这个镜像下载量比较高 进去看了dockerfile后,感觉不太适合需求 这里没有提供卷,也没有提供ssh,既不能把仓库映射到宿主机,也没有提供clone私有仓库的功能(小声bb:都可以做到,但是不方便).其他的gitclient镜像也都大同小异. 只能自己造个轮子了. 镜像地址 本文的镜像以push到dockerhub,
-
Centos7使用docker搭建gitlab服务器
了解到docker的优点,搭建快,运行要求资源低,最重要的是实现的功能和效果都能达到预期,于是决定使用docker来搭建gitlab服务器. 效果图如下: 系统环境:CentOS Linux release 7.1.1503 (Core) git版本:/gitlab/gitlab-ce 一.安装和启动docker 安装:yum -y install docker 启动:systemctl start docker 开机启动:systemctl enable docker 二.拉取镜像文件 doc
-
Docker-compose一键部署gitlab中文版的方法步骤
一.gitlab介绍 gitlab官方地址:https://about.gitlab.com/ GitLab是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目.它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释.可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库.团队成员可以利用内置的简单聊天程序(Wall)进行交流.它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需
-
使用Docker快速部署Gitlab的方法
1. 下载gitlab镜像 docker pull gitlab/gitlab-ce 2. 运行gitlab实例 GITLAB_HOME=`pwd`/data/gitlab docker run -d \ --hostname gitlab \ --publish 8443:443 --publish 80:80 --publish 2222:22 \ --name gitlab \ --restart always \ --volume $GITLAB_HOME/config:/etc/git
-
使用docker搭建gitlab详解
使用docker搭建gitlab 在服务器上直接安装gitlab,会装入Git,Redis ,postgresql,nginx等.如果主机已有redis.nginx等,配置会比较麻烦.而且以后gitlab的备份和迁移都不方便.附主机安装教程: https://about.gitlab.com/downloads/#centos7 如果将gitlab进行Docker化部署,所有服务如redis,postgresql等放在一个docker容器里,将配置.数据等文件挂载在宿主机上,备份和迁移时候只要复
-
Docker中搭建配置Git环境的过程
Docker中配置Git环境 工作中遇到了需要在Docker环境中操作GitLab仓库的场景,需要事先在Docker中搭好Git环境. 由于在Docker中对Git仓库操作是全自动化的,因此需要免密拉取仓库和提交等操作,我这里是使用SSH来进行免密操作. 所以首先是配置SSH,其次是配置Docker环境. 配置SSH Key 先生成SSH key: ssh-agent eval $(ssh-agent -s) ssh-keygen -o -t rsa -b 4096 -C "{username}
-
教你在docker 中搭建 PHP8 + Apache 环境的过程
目录 镜像介绍 具体操作步骤 PHP 安装扩展 以安装 pdo-mysql 扩展为例 搭建 PHP 站点 镜像介绍 PHP8 + Apache 的官方仓库: https://hub.docker.com/_/php?tab=tags 在该仓库如下位置搜索 Apache 相关的镜像 我下载的是下面这个, PHP 版本是 8.0.6 具体操作步骤 下载镜像: docker pull php:apache-buster, 下载下来后使用 docker images 可以查看到如下信息: 创建容器: d
-
在VsCode中搭建Go开发环境的配置教程
现在Go1.14都已经发布好些日子了,之前发的Go环境搭建教程早已过时,只是因为时间问题一直没来得及更新 这次怀着愧疚的心情,在凌晨四点时,将这教程进行一个更新 注意:本教程最大的好处是不需要梯子. 直接在墙内可进行一切操作,文章写给纯小白的,部分Linux常识解释的过多,熟悉的人请略过 Go的安装 安装基本还是之前的老样子,不过现在的安装早已省事不少,不再需要配置环境变量.直接去官网,下载了安装包后直接安装即可 在Go中文网进行Go最新版安装包的下载(或者复制网址浏览器打开https://st
-
PyCharm使用Docker镜像搭建Python开发环境
在我们平时使用PyCharm的过程中,一般都是连接本地的Python环境进行开发,但是如果是离线的环境呢?这样就不好搭建Python开发环境,因为第三方模块的依赖复杂,不好通过离线安装包的方式安装.本文将介绍如何利用PyCharm来连接Docker镜像,从而搭建Python开发环境. 首先,我们需要准备一下工具: PyCharm专业版 Docker 我们用一个示例项目来演示在PyCharm中如何利用Docker镜像搭建Python开发环境.项目的截图如下: 注意到,在该项目中还没有设置Pytho
-
Docker容器搭建android编译环境的实践记录
目录 1 部署容器 1.1 手动部署 1.1.1 配置docker 1.1.2 启动容器 1.1.3 配置环境 1.2 Dockerfile 2 镜像管理 3 容器管理 3.1 每个用户各用容器 3.1.1 服务端配置 3.1.2 客户端使用 3.2 多用户共用容器 3.2.1 服务端配置 3.2.2 客户端使用 1 部署容器 1.1 手动部署 1.1.1 配置docker # 安装之前必须修改docker路径,防止docker空间增长暴满. sudo ln -s /opt/docker /va
-
一文教你如何通过 Docker 快速搭建各种测试环境
今天给大家分享的主题是,如何通过 Docker 快速搭建各种测试环境,本文列举的,也是作者在工作中经常用到的,其中包括 MySQL.Redis.Elasticsearch.MongoDB 安装步骤,通过几行命令秒秒钟就能轻松搞定. 友情提示:搭建之前,你需要先安装 Docker 哟,本文基于您已经安装好 Docker 的基础上!如果你想和更多Docker技术专家交流,可以加我微信liyingjiese,备注『加群』.群里每周都有全球各大公司的最佳实践以及行业最新动态. 废话少说,正文开始! 一.
-
Docker中搭建FastDFS文件系统(多图教程)
关于FastDFS FastDFS 是以 C 语言开发的一项开源轻量级分布式文件系统,他对文件进行管理,主要功能有:文件存储,文件同步,文件访问(文件上传/下载)等,特别适合以文件为载体的在线服务,如:图片网站,视频网站等. 外话:FastDFS 是阿里余庆大神做的一个个人项目,从2008年研发FastDFS开源至今,在一些互联网创业公司中备受推崇,GitHub开源地址:https://github.com/happyfish100/fastdfs 本文基于Docker搭建,以下是正文内容: 1
-
在VSCode中搭建Python开发环境并进行调试
Get Started Tutorial for Python in Visual Studio Code 一.安装Python Python简介与Python安装 二.VSCode中安装和调试Python 在 VSCode 中搜索扩展 Python,如下图: 安装完成后需要重新加载 VSCode 使插件生效. 1.配置 Python 环境 在 VSCode 中点击状态栏左下角的 Python 图标: 然后选择 Python 解释器,这里博主选择我们刚才安装好的 3.8版本 2.代码检测和格式化
-
Docker 中快速安装tensorflow环境的方法步骤
Docker 中快速安装tensorflow环境,并使用TensorFlow. 一.下载TensorFlow镜像 docker pull tensorflow/tensorflow 二. 创建TensorFlow容器 docker run --name corwien-tensortflow -it -p 8888:8888 -v /Users/kaiyiwang/Code/ai/notebooks:/notebooks/data tensorflow/tensorflow 命令说明 docke
-
Mac中PyCharm配置Anaconda环境的方法
在 python 开发中我们最常用的IDE就是PyCharm,有关PyCharm的优点这里就不在赘述.在项目开发中我们经常用到许多第三方库,用的最多的命令就是pip install 第三方库名 进行安装.现在你可以使用一个工具来帮你解决经常安装第三方库的麻烦,这个工具就是Anaconda. Anaconda集成了100多个常用的第三方库,在项目的开发中就可以减少使用 pip 命令进行安装.有关Anaconda的安装包,大家可以前往官网进行下载并安装. 这里我想注重说明的是Mac 中PyCharm
随机推荐
- CI框架AR操作(数组形式)实现插入多条sql数据的方法
- C#和lua相互调用的方法教程
- AngularJS入门教程之AngularJS 模板
- 强制设为首页代码
- JavaWeb开发入门第二篇Tomcat服务器配置讲解
- Java实现简单修改文件名的方法分析
- java实现简单的爬虫之今日头条
- 跟我学习javascript的垃圾回收机制与内存管理
- php+mysqli实现批量替换数据库表前缀的方法
- JAVA对list集合进行排序Collections.sort()
- Android仿支付宝中余额宝的数字动画效果
- webpack学习笔记之优化缓存、合并、懒加载
- 详解Java中字符串缓冲区StringBuffer类的使用
- jQuery获取单击节点对象的方法
- Android 仿QQ头像自定义截取功能
- php中mkdir()函数的权限问题分析
- JS中touchstart事件与click事件冲突的解决方法
- C#事件(event)使用方法详解
- Python爬虫:将headers请求头字符串转为字典的方法
- vue 实现微信浮标效果