当前位置: 首页 > news >正文

网站开发 项目的招标文件某某公司电子商务网站建设与维护

网站开发 项目的招标文件,某某公司电子商务网站建设与维护,做网站属于It行业吗,wordpress-5.6.20下载【Jenkins】持续集成部署学习 【一】Jenkins介绍【二】Docker安装Gitlab【1】首先准备一台空的虚拟机服务器【2】安装服务器所需的依赖【3】Docker的安装【4】阿里云镜像加速【5】安装Gitlab 【三】Gitlab的使用#xff08;1#xff09;Gitlab创建项目#xff08;2#xff… 【Jenkins】持续集成部署学习 【一】Jenkins介绍【二】Docker安装Gitlab【1】首先准备一台空的虚拟机服务器【2】安装服务器所需的依赖【3】Docker的安装【4】阿里云镜像加速【5】安装Gitlab 【三】Gitlab的使用1Gitlab创建项目2Idea工具创建本地仓库3选择此项目根目录作为发布的仓库4把项目ADD添加到git缓冲区5再将项目COMMIT提交到本地仓库6把项目PUSH推送到远程仓库7查看commit的几次就是看版本8创建分支 【四】Docker安装Jenkins【1】安装JDK、Maven、Git可跳过1安装JDK2安装Maven3安装Git 【2】安装Jenkins1拉取镜像2修改目录权限3运行容器4浏览器访问Jenkins页面5获取管理员密码6安装插件7创建管理员8实例配置9通过docker安装的jenkins自带git和JDK就不需要再安装了10查看Jenkins版本 【五】Jenkins使用【1】配置插件镜像【2】定制安装所需的插件1安装publish over ssh2安装Maven Integration3安装中文翻译插件4安装Git插件 【3】开始配置1配置ssh可跳过在后面用到的时候配2配置jdk和maven和git1配置JDK2配置maven选用默认的即可3配置git 【4】使用Jenkins部署springboot的helloworld项目最易启动1准备一个springboot的helloworld项目2Jenkins新建任务3到Gitlab的项目里复制克隆路径4Jenkins的项目配置 【5】将上面的helloworld项目部署到远程测试服务器上1介绍2修改全局配置3打开项目配置4远程服务器开启SSH5再次构建查看构建日志6到远程服务器上看看7看看jar是否已经自动启动 【6】准备一个Docker启动的CRUD项目1远程测试服务器搭建运行环境1安装Docker2Docker安装Portainer3Docker安装Mysql4Docker安装JDK 2创建一个springboot项目3docker创建网络4把项目打成jar包5创建Dockerfile文件并上传jar包6用dockerfile构建镜像7使用镜像创建容器8本地测试 【7】使用Jenkins部署上面的Docker项目1在项目文件里加上Dockerfile2上传到git3修改全局配置在上面helloworld项目已经配置过了4Jenkins创建新项目5修改jenkins里docker_springboot项目的配置5立即构建6控制台输出报错7再次构建8查看Docker镜像是否启动9本地接口访问测试 【一】Jenkins介绍 【二】Docker安装Gitlab 【1】首先准备一台空的虚拟机服务器 Gitlab用的端口是80可能会跟其它应用冲突并且Gitlab所需内存也很大所以还是单独放在一个服务器上比较好。 用原来空的虚拟机服务器克隆一个注意内存要选大一点6G左右 【2】安装服务器所需的依赖 1ip a / ip addr / ifconfig 不显示ip问题 yum install iproute ftp bind-utils net-tools wget -y【3】Docker的安装 1查看系统的内核版本 uname -r 4.18.0-80.11.2.el8_0.x86_64执行命令uname -r 注意x86 64位系统如果是32位是不能安装 docker 的 2yum更新到最新版本 sudo yum -y update执行命令sudo yum update 注意看到显示 Complete 就代表完成了整个过程需要 5-10 分钟左右 更新gccC语言的编译环境 yum -y install gcc yum -y install gcc-c3安装Docker所需的依赖包 sudo yum install -y yum-utils device-mapper-persistent-data lvm2执行命令sudo yum install -y yum-utils device-mapper-persistent-data lvm2 注意看到显示 Complete 就代表完成了整个过程需要 1-3 分钟左右 4设置Docker的yum的源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo5更新yum软件包索引 yum makecache fast6查看仓库所有Docker版本 yum list docker-ce --showduplicates | sort -r7安装Docker 安装默认最新版本的Docker yum -y install docker-ce docker-ce-cli containerd.io8启动Docker并添加开机自启动 启动Docker sudo systemctl start docker设置开机启动Docker systemctl enable docker重启docker systemctl restart docker停止docker systemctl stop docker9查看Docker版本 docker --version10测试 ps -ef|grep dockerdocker version11卸载Docker systemctl stop docker yum remove docker-ce docker-ce-cli containerd.io rm -rf /var/lib/docker rm -rf /var/lib/containerd12Docker常用命令 [rootCodeGuide ~]# docker --help #Docker帮助 [rootCodeGuide ~]# docker --version #查看Docker版本 [rootCodeGuide ~]# docker search image #搜索镜像文件如docker search mysql [rootCodeGuide ~]# docker pull image #拉取镜像文件 如docker pull mysql [rootCodeGuide ~]# docker images #查看已经拉取下来的所以镜像文件 [rootCodeGuide ~]# docker rmi image #删除指定镜像文件 [rootCodeGuide ~]# docker run --name name -p 80:8080 -d image #发布指定镜像文件 [rootCodeGuide ~]# docker ps #查看正在运行的所有镜像 [rootCodeGuide ~]# docker ps -a #查看所有发布的镜像 [rootCodeGuide ~]# docker rm image #删除执行已发布的镜像13如何创建自启动的容器 1还没run创建容器的 使用 docker run 命令运行时增加 --restartalways 参数即可 2已运行的容器修改其自启动策略 执行命令 docker update --restartalways 容器名或容器ID docker container update --restart【容器策略】 容器名称 # no 容器退出时不重启容器 # on-failure 只有在非零状态退出时才重新启动容器 --restarton-failure:【重启次数】 # always 无论退出状态如何都【4】阿里云镜像加速 1获取阿里云加速器地址 登陆阿里云点击控制台然后点击菜单找到“容器镜像服务” 创建个人容器镜像托管服务 然后点击镜像工具进入镜像加速器即可看到阿里云加速器地址把这个加速器地址配置到docker容器里 2创建文件夹并执行脚本 先创建文件夹 mkdir -p /etc/docker执行脚本 tee /etc/docker/daemon.json -EOF {registry-mirrors: [https://xqybwad5.mirror.aliyuncs.com] } EOF3重新加载配置文件 systemctl daemon-reload4重新启动docker systemctl restart docker5查看 daemon.json 是否已经生效了 tail /etc/docker/daemon.json【5】安装Gitlab 关闭所有防火墙 service firewalld status service firewalld stop 重启dockersystemctl restart docker 1拉取镜像创建容器 直接使用创建命令系统会自动进行拉取 # 添加容器 docker run --detach \--hostname 192.168.19.8 \--publish 443:443 --publish 80:80 \--name gitlab \--restart always \--volume $GITLAB_HOME/config:/etc/gitlab \--volume $GITLAB_HOME/logs:/var/log/gitlab \--volume $GITLAB_HOME/data:/var/opt/gitlab \--shm-size 256m \registry.gitlab.cn/omnibus/gitlab-jh:latestgitlab/gitlab-ce:latest2启动容器 docker start gitlab查看已经存在的容器 docker ps -a3进入容器 docker exec -it gitlab /bin/bash4外网访问测试 首先保证前面关闭防火墙 访问下面连接注意http不加shttp://192.168.19.8/ 要稍微等一会 查看内存使用情况 free -m等内存加载的差不多了就可以打开网页了 5管理员账号密码登录 密码是进入容器后查找的 cat /etc/gitlab/initial_root_password登录名是root密码直接复制过来使用 6修改默认密码 启动 gitlab-rails console要等一会 进入容器 ~/files/code/gitlab$ docker exec -it gitlab bash 启动 gitlab-rails consolerootgitlab:/# gitlab-rails console --------------------------------------------------------------------------------Ruby: ruby 2.7.5p203 (2021-11-24 revision f69aeb8314) [x86_64-linux]GitLab: 14.7.2 (89599212ee6) FOSSGitLab Shell: 13.22.2PostgreSQL: 12.7 -------------------------------------------------------------------------------- Loading production environment (Rails 6.1.4.4) irb(main):001:0 user User.find(1)#User id:1 root irb(main):002:0 user.password 111111admin111111admin irb(main):003:0 user.password_confirmation 111111admin111111admin irb(main):004:0 user.send_only_admin_changed_your_password_notification!true irb(main):005:0 user.save!true irb(main):006:0 exit rootgitlab:/# exit【三】Gitlab的使用 1Gitlab创建项目 首先创建一个空白的项目 2Idea工具创建本地仓库 在IDEA中创建好项目点击VCS按照下图指示先给项目创建本地Git仓库 3选择此项目根目录作为发布的仓库 4把项目ADD添加到git缓冲区 选择最右侧的 “add” 5再将项目COMMIT提交到本地仓库 选择最右侧第一个 “Commit Directory…” 点击之后在弹窗里填写备注信息 6把项目PUSH推送到远程仓库 URL复制下面这个 连接的时候输入root和对应的密码就行了 这样就可以提交上去了 更新项目的话commit的时候选择你修改的文件push的时候对应的url就是你要更新项目仓库的url。这样gitlab上面仓库里面的项目就是你选择的文件进行修改了。也就是只是局部进行修改。 7查看commit的几次就是看版本 看到以上commit了3次 我们想要回到某一次我们可以右击想要回到的版本 只要点击了以上的这个就回去了 【Checkout Revision】和【Reset Current Branch to Here】的区别 8创建分支 我们想要在当前的项目的基础上面创建一个分支相当于对于当前的项目复制一份变为一个分支 如何查看是不是切换过去了 idea右下角就可以看到当前的项目在哪个分支 也可以直接在右下角进行点击创建 【四】Docker安装Jenkins 【1】安装JDK、Maven、Git可跳过 1安装JDK 参考文章Linux安装JDK 1yum下载JDK yum search java | grep java-1.8 # 安装JRE yum install java-1.8.0-openjdk # 安装JDK yum install -y java-devel安装完成后默认的安装路径为 cd /usr/lib/jvm/2配置JDK环境变量 1-编辑系统配置文件 vim /etc/profile2-在profile的最后面添加下面的JAVA_HOME是JDK文件夹 JAVA_HOME/usr/lib/jvm/java-1.8.0-openjdk PATH$JAVA_HOME/bin:$PATH CLASSPATH$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/jre/lib/extexport PATH JAVA_HOME CLASSPATH3-让配置生效 source /etc/profile4-查看jdk是否生效 2安装Maven 1下载maven 下载地址https://dlcdn.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz 2把下载包上传到服务器的/usr/lib/jvm目录下 cd /usr/lib/jvm #解压maven tar -zxvf apache-maven-3.8.8-bin.tar.gz3设置环境变量 vim /etc/profileJAVA_HOME/usr/lib/jvm/java-1.8.0-openjdk PATH$JAVA_HOME/bin:$PATH CLASSPATH$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/jre/lib/extexport PATH JAVA_HOME CLASSPATH export MAVEN_HOME/usr/lib/jvm/apache-maven-3.8.8 export PATH${MAVEN_HOME}/bin:${PATH}让配置生效 source /etc/profile查看mvn的版本测试是否安装成功 mvn -v4配置Maven加速镜像 cd /usr/lib/jvm/apache-maven-3.8.8/conf/vim settings.xml编辑添加下面内容 mirrorsmirroridalimaven/idnamealiyun maven/nameurlhttp://maven.aliyun.com/nexus/content/groups/public//urlmirrorOfcentral/mirrorOf/mirror /mirrors3安装Git docker安装的git自带git 【2】安装Jenkins 1拉取镜像 拉取镜像这里指定是2.415版本默认最新的是2.3版本在初始化插件的时候会因为版本低而下载失败 docker pull jenkins/jenkins:2.4152修改目录权限 会把容器中的Jenkins主目录给持久化到主机本地目录里因此需要先在主机上新建一个本地目录并设置权限 需要修改下目录权限因为当映射本地数据卷时/data/jenkins_home/目录的拥有者为root用户而容器中jenkins用户的 uid 为 1000。我们创建一个jenkins目录 # mkdir /var/jenkins_home # chown -R 1000:1000 /var/jenkins_home/3运行容器 1–name jenkins命名 2-d表示后台运行 3-p 10240:8080把宿主机的10240端口映射到8080端口 4-v /var/jenkins_home:/var/jenkins_home 5-v /etc/localtime:/etc/localtime 6-v /var/run/docker.sock:/var/run/docker.sock让Jenkins能够与主机的Docker进行通讯 如果上面没有安装JDK、Maven、Git这些就不需要进行挂载了后面直接使用docker安装自带的jdk和git还可以自动安装maven docker run -d -p 10240:8080 -p 10241:50000 -v /var/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime --name myjenkins -v /var/run/docker.sock:/var/run/docker.sock jenkins/jenkins:2.415如果已经安装了JDK、Maven、Git这些可以在启动的时候挂载 docker run -di --namemyjenkins -p 10240:8080 -p 10241:50000 -v /var/jenkins_home:/var/jenkins_home \ -v /etc/localtime:/etc/localtime \ -v /usr/local/java/jdk:/usr/local/jdk1.8 \ -v /usr/local/java/apache-maven-3.8.5:/usr/local/apache-maven-3.8.5 \ -v /var/run/docker.sock:/var/run/docker.sock jenkins/jenkins:2.415 -v /home/jenkins_home:/var/jenkins_home是对容器内存储Jenkins的一些配置信息的文件夹 -v /usr/local/java/jdk:/usr/local/jdk1.8是把linux下的jdk和容器内的关联配置Jenkins时使用 -v /usr/local/java/apache-maven-3.8.5:/usr/local/apache-maven-3.8.5是把linux下的maven和容器内的关联配置Jenkins时使用 4浏览器访问Jenkins页面 输入http://192.168.XX.XX:10240 IP是服务器IP地址 端口号是我们刚刚设置的端口号 5获取管理员密码 vim /var/jenkins_home/secrets/initialAdminPassword复制密码然后登录 6安装插件 这里先跳过安装 7创建管理员 root admin 8实例配置 url不用动 配置完成 http://192.168.19.7:10240/ 9通过docker安装的jenkins自带git和JDK就不需要再安装了 Jenkins本机默认使用“yum -y install git” 安装的 git docker exec -it myjenkins /bin/bashgit --versionjava --versionecho $JAVA_HOME10查看Jenkins版本 滑到最底下可以看到当前安装的版本是2.328 【五】Jenkins使用 【1】配置插件镜像 滑到下面找到升级站点 输入https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json 点击提交然后重启jenkinshttp://localhost:8080/restart 【2】定制安装所需的插件 因为环境网络问题前面跳过了插件的安装在这一步选择一个简单的jenkins系统所需要的插件。 配置路径Manage Jenkins Manage Plugins 选择所需要插件点击安装Install without restart 有两个重要的插件需要安装publish over ssh和Maven Integration plugin 1安装publish over ssh 我们想把Jenkins打包好的jar包通过SSH发送到远程测试服务器上在远程测试服务上进行启动使用所以需要这个插件安装完插件以后会在system系统配置里进行配置也就是添加远程服务器的连接信息这个后面会讲到 注意这里直接安装可能会失败查看失败的详情信息提示说需要更高版本的Jenkins才可以Jenkins (2.332.1) or higher required所以刚开始直接安装的2.4版本Jenkins 那么我们可以换个更低版本的插件来安装试试插件网址http://updates.jenkins-ci.org/download/plugins/ 查看它前面的版本是否符合要求下载一个hpi文件离线方式安装插件 重启jenkins 2安装Maven Integration 然后还有Maven插件 安装完成后重新启动一下 3安装中文翻译插件 安装Local和Chinese两个插件 点击【Configure System】选项。 找到【Locale】选项输入【zh_CN】,勾选下面的选项最后点击【应用】即可。 4安装Git插件 直接搜Git安装流程如上 【3】开始配置 1配置ssh可跳过在后面用到的时候配 Dashboard——》ManageJenkins——》System 配置全局凭据这个全局凭据看起来高大上其实挺好理解就是一个配置项然后你配置好以后你就可以通过jenkins登录到你想进入的那台服务器里面你还可以在那台服务器上执行你设计的指令。而咱们前面安装的publish over ssh插件就是用来干这事的 1生成ssh私钥和公钥 假设我有两台机器AB然后我想在A机器上远程登录到B机器上那么我就应该在A机器中通过ssh生成公钥和私钥然后把公钥放到B机器中私钥自己留着。 2配置jdk和maven和git Dashboard——》ManageJenkins——》Tools 1配置JDK 点击系统管理找到全局工具配置 如果是在宿主机里安装的JDK 但是如果使用Docker安装的Jenkins那么是自带JDK的我们可以进入到jenkins容器中 echo $JAVA_HOME 获取java环境安装地址 docker exec -it myjenkins /bin/bashgit --versionjava --versionecho $JAVA_HOME获取Jenkins里的jdk路径是【/opt/java/openjdk】 2配置maven选用默认的即可 进入【首页】–【系统管理】–【全局配置】拉到最下面maven–maven安装 下载jar包会比较慢所以还要配置国内的镜像所以这里也可以用自己安装的maven会更方便使用 3配置git 使用默认的不需要配 点击保存 【4】使用Jenkins部署springboot的helloworld项目最易启动 1准备一个springboot的helloworld项目 1下载地址 https://how2j.cn/k/springboot/springboot-idea/1641.html 2idea打开项目 下载项目文件后解压然后使用idea打开 3启动项目测试访问 因为本地8080端口冲突所以在配置文件里把服务端口改成了8082启动成功以后访问http://localhost:8082/hello 如图测试成功接下来就是把测试成功的项目提交到自己搭建的Gitlab上去了 4Gitlab创建项目 首先创建一个空白的项目 5Idea工具创建本地仓库 在IDEA中创建好项目点击VCS按照下图指示先给项目创建本地Git仓库 然后选择当前项目的文件作为发布的仓库成功之后看到所有项目文件变成了红色 6把项目ADD添加到git缓冲区 点击项目然后右键选择最右侧的 “add”添加之后可以看到所有项目文件变成了绿色 7再将项目COMMIT提交到本地仓库 选择最右侧第一个 “Commit Directory…” 点击之后在弹窗里填写备注信息 提交完成后可以看到项目的所有文件都变成了白色 8把项目PUSH推送到远程仓库 先复制项目在Gitlab的git地址http://192.168.19.8/root/hello-world.git 然后push项目 然后自定义远程地址 然后点击Push连接的时候输入root和对应的密码就行了这样就可以提交上去了 更新项目的话commit的时候选择你修改的文件push的时候对应的url就是你要更新项目仓库的url。这样gitlab上面仓库里面的项目就是你选择的文件进行修改了。也就是只是局部进行修改。 可以看到项目的代码都已经提交上来了 2Jenkins新建任务 3到Gitlab的项目里复制克隆路径 hello world项目http://192.168.19.8/root/hello-world.git 4Jenkins的项目配置 1源码管理 用的是自己搭建服务器上gitlab的代码创建的时候已经设置为public了这里直接用http://192.168.19.8/root/docker-springboot.git 2构建触发器不改动 3构建环境不改动 4Pre Steps不改动 可以执行一些构建之前的操作 5Build构建 在Gitlab里面可以看一下pom.xml是不是放在根目录下的如果还有子目录下面就要填成***/pom.xml 6立即构建 立即构建 因为是第一次构建maven的仓库里没有jar包所以全部都要下载有可能会在下载的过程中就失败所以构建的过程中要观察一下控制台输出 7启动jar包 首先找到构建好的jar包所在位置 cd /var/jenkins_home/workspace/helloworld/target然后使用命令启动项目 java -jar springboot-0.0.1-SNAPSHOT.jar --server.port8088启动成功 查看端口 netstat -tuln | grep 80888访问测试 访问地址192.168.19.9:8088/hello 如果访问不通可能是防火墙的问题关闭所有防火墙 service firewalld status service firewalld stop 成功 【5】将上面的helloworld项目部署到远程测试服务器上 1介绍 上面已经安装了SSH插件就是通过SSH把JAR包发送到测试服务器。这里我们要再克隆一个虚拟机服务器上面只需要安装JDK就行了。 这里想要实现的逻辑就是 1本地idea完成代码修改后把代码提交到192.168.19.8服务器的Gitlab上 2然后192.168.19.9服务器上的Jenkins在构建项目的时候会自动到Gitlab的服务器上拉取代码然后使用Maven对代码进行打包生成Jar包 3最后192.168.19.9服务器上的Jenkins在打包完成后把Jar包通过SSH发送到远程测试服务器192.168.19.11上并且会执行自定义的命令比如java -jar完成项目启动 综上开发人员只需要在idea把代码提交到Gitlab然后进入Jenkins点一下构建项目然后就可以在测试服务器上使用部署好的代码了 2修改全局配置 目前是一台服务器都没有的点击新增 1-Name自己给服务器起个名字 2-HostName服务器的ip地址 3-Username登录用户名 4-点击高级Passwor的登录密码 5-port端口默认22 最后点击Test Configuration测试连接显示Success为连接成功 3打开项目配置 上面知道Jenkins打成的Jar包是放在workspace文件夹下的target包里的【springboot-0.0.1-SNAPSHOT.jar】每次打包的时候后缀【-0.0.1】可能会变 cd /var/jenkins_home/workspace/helloworld/target配置如下点击保存 4远程服务器开启SSH 1首先查看ssh服务没有开启 查看状态#lssrc -s sshd 如果状态为inoperative说明没有开启 开启sshd#startsrc -s sshd 2修改配置文件 root用户默认情况下是无法使用ssh连接的。 编辑#vi /etc/ssh/sshd_config去掉前面的#并将PermitRootLogin改为yes #Port 22 #PermitRootLogin yes 3启动sshd服务 启动ssh#startsrc -s sshd 5再次构建查看构建日志 显示传送了一个文件 6到远程服务器上看看 看看文件是不是真的传送了 7看看jar是否已经自动启动 访问地址192.168.19.11:8082/hello因为这次启动没有指定启动端口而项目yml里配置的端口是8082 如果访问不通可能是防火墙的问题关闭所有防火墙 service firewalld status service firewalld stop 查看端口 netstat -tuln | grep 8088【6】准备一个Docker启动的CRUD项目 1远程测试服务器搭建运行环境 1安装Docker 看上面 2Docker安装Portainer 1拉取最新的Portainer镜像 docker pull portainer/portainer2运行镜像9000 docker run -d -p 9000:9000 -v /root/portainer:/data -v /var/run/docker.sock:/var/run/docker.sock --name dev-portainer portainer/portainer或者 docker run -d --restartalways --name portainer -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer参数说明 -d #容器在后台运行 -p 9000:9000 # 宿主机9000端口映射容器中的9000端口 -v /var/run/docker.sock:/var/run/docker.sock # 把宿主机的Docker守护进程(docker daemon)默认监听的Unix域套接字挂载到容器中 -v /root/portainer:/data # 把宿主机目录 /root/portainer 挂载到容器 /data 目录 –name dev-portainer # 指定运行容器的名称 注意在启动容器时必须挂载本地 /var/run/docker.socker与容器内的/var/run/docker.socker连接。 3访问Portainer可视化界面 1-浏览器中输入服务器的ip地址:9000访问portainer可视化界面 第一次会弹出安装界面配置账号密码、选择是本地Docker还是远程Docker一般我们选择本地Docker也就是local可以查看宿主机配置信息、查看容器、镜像、网络、卷等相关信息。 2-创建登录账号和密码 3Docker安装Mysql 1拉取镜像docker pull mysql:5.7 2查看本地镜像docker images 3创建一个mysql容器首先在根目录下创建好一个文件夹allenuse 4运行容器docker run -d -p 3306:3306 --privilegedtrue -v /allenuse/mysql/log:/var/log/mysql -v /allenuse/mysql/data:/var/lib/mysql -v /allenuse/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD123456 --name mysql5 mysql:5.7 如果报错的话可能是端口3306被占用了就用下面的命令解决 1-先查看当前占用端口netstat -tanlp 2-杀死对应的进程kill 1330 5查看是否创建成功 1-查看容器docker ps 或者 docker ps -a 2-查看启动日志docker logs mysql5 6新建my.cnf通过容器卷同步给mysql容器实例解决中文乱码问题 cd /allenuse/mysql/conf/vi my.cnf[client] default_character_setutf8 [mysqld] collation_server utf8_general_ci character_set_server utf87重启mysql容器实例再重新进入并查看字符编码 1-重启docker restart mysql5 2-查看字符编码docker exec -it mysql5 /bin/bash 8新建库新建表再插入中文测试 9如果不小心把mysql的容器删除了如何恢复 之前已经配置了容器卷mysql的数据已经在本地存储了只需要重新执行创建容器的命令就行了 docker run -d -p 3306:3306 --privilegedtrue -v /allenuse/mysql/log:/var/log/mysql -v /allenuse/mysql/data:/var/lib/mysql -v /allenuse/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD123456 --name mysql5 mysql:5.710防火墙设置 1-设置mysql 3306 端口firewall-cmd --zonepublic --add-port3306/tcp --permanent 2-重新加载firewall-cmd --reload 11本地连接 12如果3306端口被占用了怎么处理 1-先查看当前占用端口netstat -tanlp 2-杀死对应的进程kill 1330 13初始化数据库脚本 create database tmall_springboot; use tmall_springboot; SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0; -- ---------------------------- -- Table structure for category -- ---------------------------- DROP TABLE IF EXISTS category; CREATE TABLE category (id int(11) NOT NULL AUTO_INCREMENT,name varchar(255) DEFAULT NULL,PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT84 DEFAULT CHARSETutf8;-- ---------------------------- -- Records of category -- ---------------------------- BEGIN; INSERT INTO category VALUES (60, 安全座椅); INSERT INTO category VALUES (64, 太阳镜); INSERT INTO category VALUES (68, 品牌女装); INSERT INTO category VALUES (69, 时尚男鞋); INSERT INTO category VALUES (71, 男士西服); INSERT INTO category VALUES (72, 男士手拿包 ); INSERT INTO category VALUES (73, 男表); INSERT INTO category VALUES (74, 女表); INSERT INTO category VALUES (75, 空调); INSERT INTO category VALUES (76, 冰箱); INSERT INTO category VALUES (77, 原汁机); INSERT INTO category VALUES (78, 扫地机器人 ); INSERT INTO category VALUES (79, 平衡车); INSERT INTO category VALUES (80, 电热水器); INSERT INTO category VALUES (81, 沙发); INSERT INTO category VALUES (82, 马桶); INSERT INTO category VALUES (83, 平板电视); COMMIT; 4Docker安装JDK 1查找JDK docker search jdk2拉取JDK1.8镜像 从上面列表里选取一个拉取 docker pull java3查看下载的镜像 docker images4启动JDK镜像 docker run -di --namejdk8 java5查看镜像运行情况 docker ps6进入镜像 docker exec -it jdk8 /bin/bash查看jdk版本 退出镜像 exit7镜像的运维 停止镜像docker stop jdk8 启动镜像docker start jdk8 重启镜像docker restart jdk8 删除容器 # 1.查看历史所有容器 docker ps -a # 2.删除容器 docker rm 容器id2创建一个springboot项目 项目创建后完成以下准备工作 1idea连接数据库 首先启动mysql容器 docker start mysql5然后idea连接mysql跟上面Navicat连接的过程类似 2添加相关的依赖 确认一下springboot版本为2.5.2 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter/artifactId /dependency dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope /dependency dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.49/version /dependency dependencygroupIdcom.alibaba/groupIdartifactIddruid/artifactIdversion1.1.19/version /dependency dependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion2.1.3/version /dependency dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactIdversionRELEASE/versionscopecompile/scope /dependency !--domain.page-- dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-jpa/artifactId /dependency3编写yml配置文件 server:port: 8989servlet:context-path: /docker_springboot spring:datasource:type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://localhost:3306/tmall_springboot?characterEncodingUTF-8useSSLfalseusername: rootpassword: 123456 mybatis:mapper-locations: classpath:mapper/*.xmltype-aliases-package: com.allen.docker_springboot.entity4下载自动生成代码的插件easycode 5使用插件自动生成增删改查的代码 6查看代码的生成结果 修改启动类加上扫描路径 7启动项目测试接口 访问地址http://localhost:8989/docker_springboot/category/64 3docker创建网络 docker network create apps然后查看容器 docker ps然后把mysql加到网络中去 docker network connect apps e3最后查看一下网络 docker inspect apps4把项目打成jar包 打成jar包之前要把yml配置文件里的mysql的ip地址端口号密码等信息都换成服务器的不能直接用localhost。 我们可以直接把ip改成对应服务器的ip来替换localhost还有另外一种方式因为上面已经设置了网络名称为mysql5所以我们可以直接用mysql5 然后开始打包 5创建Dockerfile文件并上传jar包 创建专门用来放dockerfile和jar的文件夹 mkdir -p /root/docker/docker_springboot进入创建的专门放置docker文件的文件夹/docker然后创建一个专属该项目的文件夹/docker_springboot进入然后vi Dockerfile创建Dockerfile文件编辑输入以下内容 cd /root/docker/docker_springboot vi DockerfileFROM java:8 ENV APP_PATH/docker/docker_springboot WORKDIR $APP_PATH ADD ./docker_springboot-0.0.1-SNAPSHOT.jar $APP_PATH/app.jar EXPOSE 8989 ENTRYPOINT [java,-jar] CMD [app.jar,-Dfile.encodingGBK, --server.port8989]最后再把jar包传到这个文件夹里 6用dockerfile构建镜像 进入存放Dockerfile的目录下面 cd /root/docker/docker_springboot#docker build –f dockerfile文件路径 –t 镜像名称:版本 . docker build -t apps:1.0 .构建完毕 查看镜像可以看到下面已经有镜像了 docker images7使用镜像创建容器 暴露的端口号是8989 #这里可以使用【镜像id】也可以使用名称版本号【apps:1.0】 docker run -d -p 8989:8989 --name apps apps:1.0这一步我们可以使用–network直接加入网络也可以在后面再加入先使用上面的创建命令 docker run -d -p 8989:8989 --name apps --network apps apps:1.0 下面开始加入网络 docker network connect apps 容器id查看网络 docker inspect apps查看运行的容器 docker ps通过【docker logs 容器ID】来查看springboot的日志看看是不是真的启动成功了 如果有报错要删除容器和镜像然后需要重新打包执行 docker ps 停止运行的容器docker stop 容器id 删除容器docker rm 容器id docker images 删除镜像docker rmi -f 镜像id或者可以使用下面这个命令启动不用后台启动了可以直接查看启动日志 #docker run -p 8989:8989 镜像ID docker run -p 8989:8989 镜像ID看到下面的日志说明启动成功了 8本地测试 关闭所有防火墙 service firewalld status service firewalld stop 然后访问地址http://192.168.19.7:8989/docker_springboot/category/64 【7】使用Jenkins部署上面的Docker项目 上面的案例我们想把项目打包发送到服务器部署需要在本地idea里手动的package然后把jar包发送到服务器里然后手动构建Dockerfile文件进行启动。而现在我们要实现的是改完代码以后只需要点一下commit and push把代码提交到git然后进入jenkins点一下构建就可以了。Jenkins会自动去Gitlab拉取最新的代码然后打成Jar包然后把Jar包发送到服务器上最后执行启动。太省事了。 1把项目发送到git 2Jenkins创建项目Jenkins配置git自动拉取代码 3Jenkins会把jar包发送到测试服务器 1在项目文件里加上Dockerfile 要包含Dockerfile文件在springboot项目根目录新建一个名为Dockerfile的文件注意没有后缀名其内容如下:大致就是使用jdk8把jar包添加到docker然后运行prd配置文件 FROM java:8 ENV APP_PATH/docker/docker_springboot WORKDIR $APP_PATH ADD ./docker_springboot-0.0.1-SNAPSHOT.jar $APP_PATH/app.jar EXPOSE 8989 ENTRYPOINT [java,-jar] CMD [app.jar,-Dfile.encodingGBK, --server.port8989]Dockerfile文件和pom同级 2上传到git 看上面【三】Gitlab的使用 3修改全局配置在上面helloworld项目已经配置过了 目前是一台服务器都没有的点击新增 1-Name自己给服务器起个名字 2-HostName服务器的ip地址 3-Username登录用户名 4-点击高级Passwor的登录密码 5-port端口默认22 最后点击Test Configuration测试连接显示Success为连接成功 4Jenkins创建新项目 5修改jenkins里docker_springboot项目的配置 再往下就是配置就是构建后的操作这里使用shell命令以前非docker部署的项目直接把jar包生成并SSH发送再执行一个java -jar命令就行了。现在是docker部署的项目了需要把jar和Dockerfile都复制过去并且停止删除以前的旧容器使用新的dockerfile构建新的容器命令很多所以使用shell命令来执行 有了之前手动部署docker项目的案例下面的参数就可以按照上面的案例来了完整的shell命令如下 #!/bin/bash # 服务名称 SERVER_NAMEjenkins# 源jar名称mvn打包之后target目录下的jar包名称 JAR_NAMEdocker_springboot-0.0.1-SNAPSHOT# jar包的目录 JENKINS_HOME/var/jenkins_home/workspace/docker_springboot# 等待三秒 echo sleep 3s sleep 1 echo sleep 2s sleep 1 echo sleep 1s sleep 1echo 结束进程完成cd $JENKINS_HOME/targetcp $JENKINS_HOME/Dockerfile $JENKINS_HOME/target# 修改文件权限 chmod 755 $JAR_NAME.jarecho 看看docker能不能用 docker -vecho 停止容器 # 停止容器 docker stop appsecho 删除容器 # 删除容器 docker rm apps echo 删除镜像 # 删除镜像 docker rmi apps echo 打包镜像 # 打包镜像 docker build -t apps:1.0 . echo 运行镜像 # 运行镜像 docker run -d -p 8989:8989 --name apps apps:1.0点击保存 5立即构建 因为是第一次构建maven的仓库里没有jar包所以全部都要下载有可能会在下载的过程中就失败所以构建的过程中要观察一下控制台输出 6控制台输出报错 我们看到打包成功了就是在使用docker命令的时候出现权限问题这是我们要给docker.sock权限就可以解决了 报错信息 Got permission denied while trying to connect to the Docker daemon socket atunix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/springboot/stop: dial unix /var/run/docker.sock: connect: permission denied解决方案 chmod arw /var/run/docker.sock7再次构建 我们发现没有报错也看到了容器的id 8查看Docker镜像是否启动 docker images docker ps9本地接口访问测试
http://www.sadfv.cn/news/359992/

相关文章:

  • dw做汽车网站有名的wordpress主题商
  • 互联网站开发管理文档站长之家点击进入
  • 做网站版权所有怎么写搭建wordpress写不进去
  • 广东网站建设咨询电话最好看免费观看高清大全宫崎骏
  • 域名怎么做网站想在网上卖货需要怎么做
  • 广州网站建设推荐乐云seohtml5开发环境
  • 中国电力建设股份有限公司网站广州网站优化页面
  • 促销礼品网站建设商城版手机网站制作
  • 建设一个自己的网站需要多少钱多语言网站建设 技术
  • 个人网站特点新手建站广告联盟赚钱
  • 没有网站怎么做CPC做房产网站赚钱吗
  • 巴州住房和城乡建设局网站北京网站推广怎么做
  • 你们网站做301wordpress在线翻译
  • 域名拍卖网站杭州科技公司
  • 苏州那家公司做网站比较好知更鸟 wordpress
  • 什么网站做任务可以赚钱免费连接网络的软件
  • 网站建设能用手机制作吗建设工程质量管理条例2020
  • 无锡高端网站建设哪家好网络推广公司重诚
  • 网站首页页面设计多少钱做网站后端如何接业务
  • 外国人在中国做美食视频网站网站建设规划方案模板
  • 国内网站如何做流量网站建设 统一标准体系
  • 个人开发小程序多少钱seo排名优化教学
  • 宁夏建设工程质量监督站网站西部数码网站管理助手 d盘
  • 网站每年需要续费吗母婴用品网站建设
  • 设计制作个人网站玉泉路做网站
  • 做pc端大型网站+前端用网站怎么装模版
  • 意大利设计网站推荐wordpress记录用户搜索
  • 移动端网站建设的尺寸广州网站建设八爪鱼
  • 网站建设推广页旅游网站建设备案
  • 成都快速建站公司网页设计师培训无锡