Linux 通过dockers部署harbor、maven、mysql、git、Jenkins环境

1.yum安装最新版本docker

将docker的源添加到本地,这里使用阿里的docker源。

cd /etc/yum.repos.d

wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

进入/etc/yum.repos.d这个yum源目录,然后下载ali的docker源:wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

/etc/yum.repos.d这个目录中就包含了docker-ce.repo的文件,该文件就是docker的源

安装docker最新版本命令:yum install docker-ce -y

安装成功后可查看docker的信息:docker info

 最新docker版本26.1.3

安装成功后启动dokcer并且设置开机启动docker

systemctl start docker
systemctl enable docker

2.安装harbor

        Docker-Compose 是用来管理容器的,类似用户容器管家,我们有N多台容器或者应用需要启动的时候,如果手动去操作,是非常耗费时间的,如果有了 Docker-Compose 只需要一个配置文件就可以帮我们搞定,但是 Docker-Compose 只能管理当前主机上的 Docker,不能去管理其他服务器上的服务。意思就是单机环境。

下载并安装docker compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

赋予docker compose执行权限

chmod +x /usr/local/bin/docker-compose

 配置第三方镜像加速

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://sv1txjq6.mirror.aliyuncs.com"]
}
EOF
 

重启docker服务

systemctl daemon-reload

systemctl restart docker 

下载Harbor,建议在浏览器中去下载,直接通过wget下载会非常慢。https://github.com/goharbor/harbor/releases/download/v2.1.0/harbor-offline-installer-v2.1.0.tgz 

下载完成之后将harbor放到服务中,在进行解压

tar zxvf /tmp/harbor-offline-installer-v2.1.0.tgz 

 解压之后进入cd harbor/目录,复制harbor.yml.tmp文件

cp harbor.yml.tmpl harbor.yml

修改harbor.yml文件的配置

vim harbor.yml

 

执行prepare

./prepare 

然后在执行install.sh安装脚本

 ./install.sh 

安装完成:http://192.168.1.199/harbor/projects 

3.安装私有Maven仓库

拉取nexus镜像:docker pull sonatype/nexus3

创建nexus的挂载文件夹

mkdir /usr/local/nexus-data && chown -R 200 /usr/local/nexus-data

启动nexus容器并将宿主机/usr/local/nexus-data目录映射到容器/nexus-data目录,这样可以保存容器产生的文件。

docker run -d -p 8081:8081 --name nexus -v /usr/local/nexus-data:/nexus-data --restart=always sonatype/nexus3

启动成功:ip:port就可以进入nexus3的管理界面了

点击右上角Sing in,首次登录会告诉你admin账号随机生成的密码在哪个文件

我们查看该文件,复制密码。(/usr/local/nexus-data, 该目录就是启动时挂载的/nexus-data目录)

登录进来修改admin的密码, next 提示启用匿名还是禁用匿名。

为nexus配置阿里云代理仓库,nexus默认的仓库是https://repo1.maven.org/maven2/ ,该仓库需要vpn,否则大概率 超时。

现在来创建一个阿里云仓库

设置仓库名称,并且添加阿里云私有仓库地址:https://maven.aliyun.com/nexus/content/groups/public/ 

拉到最底部点击创建 Create repository

把aliyun添加到仓库组中,并将其移到最上方

创建一个User用户,用于上传jar

到此maven的私有仓库配置完毕。

配置setting.xml文件

<settings>

	<pluginGroups>
		<pluginGroup>org.sonatype.plugins</pluginGroup>
	</pluginGroups>

	<servers>
		<server>
		   <id>public</id>
		   <username>Json</username>
		   <password>123456</password>
		</server>
	</servers>
	
	<mirrors>
		 <mirror>
            <id>central</id>
            <name>Central Repository</name>
            <url>http://192.168.1.199:8081/repository/maven-public/</url>
            <mirrorOf>*</mirrorOf>
        </mirror>
		<mirror>
			<id>alimaven</id>  
			<mirrorOf>central</mirrorOf>  
			<name>aliyun maven</name>  
			<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>  
		</mirror> 
	</mirrors>

	 <profile>
            <id>maven-public</id>
            <activation>
                <activeByDefault>true</activeByDefault>
                <jdk>1.8</jdk>
            </activation>
            <properties>
                <maven.compiler.source>1.8</maven.compiler.source>
                <maven.compiler.target>1.8</maven.compiler.target>
                <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
            </properties>
            <repositories>
                <repository>
                    <id>nexus-public</id>
                    <url>http://192.168.1.199:8081/repository/maven-public/</url>
                    <releases>
                        <enabled>true</enabled>
                        <updatePolicy>always</updatePolicy>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                        <updatePolicy>always</updatePolicy>
                    </snapshots>
                </repository>
            </repositories>
		</profile>
</settings>

4.安装MySQL

拉取MySQL镜像:docker pull mysql

运行并创建容器

ocker run --name mysql \
> -d \
> -p 3306:3306 \
> -- restart unless-stopped \
> -e MYSQL_ROOT_PASSWORD=123456 \
> mysql:5.7

docker run创建一个新的容器,并且运行这个容器
--name mysql启动该容器的名字
-d后台运行
-p兼容器的端口映射到主机的端口
--restart unless-stopped容器的启动策略
-e MYSQL_ROOT_PASSWORD=123456给root用户设置密码
mysql:5.7mysql:5.7启动本地镜像的指定版本
\shell 的换行符

 启动成功,最后使用客户端连接即可

5.安装git

docker拉取gogs镜像

docker pull gogs/gogs

创建目录用于挂载,mkdir -p 适用于创建层级多的目录,例如local如果不存在,则会创建local在创建gogs目录。

mkdir -p /usr/local/gogs

创建容器

 docker run --name=gogs -d -p 10022:22 -p 10880:3000 -v /usr/local/gogs:/data gogs/gogs

在mysql创建gogs数据库,只需要创建数据库,后续在gogs配置中会生成很多表,数据库gogs使用的是 utf8_general_ci 字符集

访问gogs安装页面:http://192.168.1.199:10880/install 

数据库设置

应用基本设置

点击立即安装,gogs数据库就会生成一些表

安装完成,先注册一个账号

创建账号登录后,创建一个新的仓库,在对接自己的开发工具,新的项目就可以通过git管理了

创建组织

进入管理面板

在组织管理,可邀请他人,和创建团队设置管理权限

6.安装Jenkins

提前准备maven,这里使用的是apache-maven-3.5.4

JDK环境使用Centos7自带的JDK

docker拉取Jenkins的镜像

docker pull jenkins/jenkins

创建Jenkins的挂载目录,并且授权

mkdir -p /var/jenkins_mount
chmod 777 /var/jenkins_mount

在创建apache-maven的挂载目录

mkdir -p /usr/local/maven

创建Jenkins容器并且启动

docker run -d -p 10240:8080 -p 10241:50000 -v /var/jenkins_mount:/var/jenkins_home -v  /root/apache-maven-3.5.4:/usr/local/maven    -v /etc/localtime:/etc/localtime --name myjenkins jenkins/jenkins

-v /etc/localtime:/etc/localtime 让容器使用和服务器同样的时间设置。
-–name myjenkins 给容器起一个别名

容器启动成功,​​​​​​http://192.168.1.199:10240/login?from=%2F 

上面我们将/var/jenkins_home/目录挂载到了/var/jenkins_mount/目录了,所以我们在该目录下查找就可以了。

登录之后

  • 27
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值