Linux下的docker+jenkins环境部署教程

如何在远程服务器中部署成功一个项目

这是一个整合自己所遇到的问题的一篇文章,所有内容基本上都

目录

文章目录

  • 如何在远程服务器中部署成功一个项目
    • 目录
      • 一、xshell远程服务中docker的安装以及使用
      • 二、docker的相关环境的部署
        • (1). jenkins部署
        • (2).tomcat的安装
        • (3).java的部署
        • (4).maven的部署
      • 三、配置jenkins信息
      • 四、使用遇到的一些问题
        • a.jenkins使用遇到的问题
        • b.docker使用遇到的问题

  1. 如何在linux环境下安装docker
  2. 部署docker环境
  3. 配置jenkins信息
  4. 使用遇到的一些问题

一、xshell远程服务中docker的安装以及使用

1.安装yum-utils

yum install -y yum-utils

2.yum配置阿里Docker源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

注意:如果在此期间不小心安装了podman
解决problem with installed package podman的报错

yum erase podman buildah

可解决yum命令报错问题
3.安装docker

# docker的三个组件: docker-ce、docker-ce-cli、containerd.io
#--nobest不只使用最佳选择的软件包  --skip-broken跳过无法安装的软件包
yum install -y docker-ce docker-ce-cli  containerd.io --nobest

4.查看docker版本信息

 简单信息
docker -v
#查看docker的版本号,包括客户端、服务端、依赖的Go等
docker version
 查看系统(docker)层面信息,包括管理的images, containers数等
docker info

5.docker相关服务

5.1 启动

# 启动
systemctl start docker
# 开机自启
systemctl enable docker

5.2 停止

systemctl stop docker

5.3 重启

systemctl restart docker

5.4 查看docker状态

systemctl status docker

6.docker的相关指令

docker start 容器名 启动容器
docker exec -it 容器名 bash 进入容器
docker ps -a 查看所有容器 
docker ps 查看正在运行的容器
docker rm 容器id 删除容器
docker rmi 镜像id 删除镜像
docker cp 文件名 容器id:容器中的路径   把文件拷贝致容器
docker start/stop 容器名 运行或停止容器

二、docker的相关环境的部署

以该项目部署为例来部署相关环境

  • jenkins

  • tomcat

  • maven

  • java

需要以上环境才能够部署项目

(1). jenkins部署

1.1jenkins的容器安装
docker安装jenkins

#docker 拉取jenkins
 docker pull jenkins/jenkins
#查看docker下的镜像文件
 docker images
#在docker中运行Jenkins
 docker run -p 8080:8080 -p 50000:5000 --name jenkins \
 -u root \
 -v /mydata/jenkins_home:/var/jenkins_home \
 -d jenkins/jenkins

–name 给容器命名
-p 外部访问的端口:容器的端口 我们访问都是通过外部端口来访问的
-u user:指定容器的用户
-v /宿主机目录:/容器目录 镜像名 /bin/bash
作用:挂载宿主机的一个目录,然后通过访问容器目录可以访问到主机目录中的文件。

这里-it是参数作用是:
-i: 以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
就是容器与你的终端通信输入输出。
最后的/bin/bash是command参数。

-d:后台运行容器,并返回容器ID
1.2jenkins的主机安装
a.
从官网下载jenkins.war
然后用java -jar jenkins.war bash --httpPort=[主机端口]
b.
使用yum安装
主机中卸载jenkins
1.3jenkins的环境部署
使用指令docker start jenkins 运行容器
登录密钥查找方法
进入页面后选择自定义安装插件

(2).tomcat的安装

tomcat的安装教程
然后使用docker cp 指令把tomcat解压的文件拷贝到jenkins容器指定的位置
tomcat的环境变量配置

(3).java的部署

java的安装与配置
然后使用docker cp 指令把java解压的文件拷贝到jenkins容器指定的位置

(4).maven的部署

maven部署与配置
然后使用docker cp 指令把maven解压的文件拷贝到jenkins容器指定的位置

经过以上配置那么docker中的环境算搭好了
注意:如果是使用docker run 的-v指令来映射maven,java,tomcat的主机地址到容器地址中,那么在容器对应的目录就可以找到这些工具。然后直接就可以在/etc/profile中进行配置环境,那么就不需要把文件项目拷贝到容器中。

三、配置jenkins信息

项目例子
然后安装:远程使用ssh的插件:SSH plugin
注意:配置git,jdk,maven的路径都是相对于jenkins容器中的路径。

四、使用遇到的一些问题

a.jenkins使用遇到的问题
  1. Jenkins没有全部/Read权限问题解决方案:解决方案
  2. docker中查看Jenkins administrator密码:解决方案
  3. jenkins提示反向代理设置有误:解决方案
  4. 解决docker拉取报:Error response from daemon: manifest for jenkins:latest not found:解决方案
  5. Jenkins忘记密码未更改默认密码:解决方案
  6. Jenkins 运行脚本时提示命令未找到:解决方案
b.docker使用遇到的问题
  1. docker如何移除所有的mysql_如何删除docker images/containers:解决方案
  2. docker:ps命令在容器不存在:解决方案
  3. docker容器中无法使用vim指令的解决方案 vim: command not found:解决方案
  4. 【问题解决】解决Docker容器应用中mvn: command not found的问题:解决方案
  5. WARNING: Published ports are discarded when using host network mode 解决方解决方案法:

你可能感兴趣的:(docker,jenkins,linux)