Centeros命令
初次安装后的初始化与常用工具安装
-
dhclient:自动生成ip
-
ip addr 查看ip地址
-
Virtual下设置可以上网也可以主机ping通的网卡
- 网卡1启用Nat,设置名称,高级设置,记住mac地址
- 网卡2启用host-only,设置网卡名称,记住mac地址
-
cd /etc/sysconfig/network-scripts/ 找到网络配置文件ifcfg-enp0s3
-
编辑ifcfg-enp0s3文件
HWADDR=08:00:27:55:26:A8 //添加这一句,mac是NAT网卡的mac地址 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=dhcp DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=enp0s3 UUID=ad3faa1b-ce63-468e-8f92-d1015efd6bcf DEVICE=enp0s3 ONBOOT=yes //修改这一句
-
重启网络service network restart
-
复制一份网络配置文件改名:cp ifcfg-enp0s3 ifcfg-enp0s8
HWADDR=08:00:27:7D:A0:04//修改ifcfg-enp0s8,mac是host-only网卡的mac地址 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static//设置静态ip DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=enp0s8//配置文件名 UUID=ad3faa1b-ce63-468e-8f92-d1015efd6bcf DEVICE=enp0s8 ONBOOT=yes// IPADDR=192.168.56.2//最小ip开始 NETMASK=255.255.255.0
-
ip addr两张网卡都启动,可上网主句可ping通
-
安装图形化界面:yum groupinstall -y “GNOME Desktop”
-
init 5切换图形化桌面
-
文件目录
- bin:一般可执行文件
- sbin:系统可执行文件
- etc:全局配置
-
vi编辑器
- 输入i进入编辑
- w:保存不退出vi
- wq:保存退出vi
- q:不保存退出\
- 按ESC输入冒号wq退出
-
docker相关操作命令
- 安装系统工具:sudo yum install -y yum-utils device-mapper-persistent-data lvm2
- 添加软件信息源:sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- rpm -qa|grep -i mysql:检测mysql是否安装
- 更新yum缓存:sudo yum makecache fast
- 安装docker:sudo yum -y install docker-ce
- yum install docker-engine:安装docker包
- yum list installed|grep docker:查看已经安装的docker包
- yum –y remove docker.x86_64:卸载docker
- sudo yum remove docker docker-common docker-selinux docker-ce-cli.x86_64:删除docker包
- sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo:设置yum源
- yum list docker-ce --showduplicates | sort -r:查看yum源docker列表
- systemctl start docker:启动docker宿主机
- docker search mysql:搜索线上mysql
- docker pull mysql/mysql-server:下载mysql服务
- docker images|grep tomcat:查看tomcat镜像
- docker run -di --name=tensquare_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d centos/mysql-57-centos7:创建mysql容器
- 启动nginx:docker run --name nginxfcs -p 80:80 -d nginx
- docker run --name tomcat -p 80:80 -d tomcat
- 配置nginx文件目录:mkdir -p /root/nginx/www /root/nginx/logs /root/nginx/conf
- 创建新nginx容器nginx-web,并将www,logs,conf目录映射到本地:docker run -d -p 80:80 --name nginx-web -v /root/nginx/www:/usr/share/nginx/html -v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
- 进入mysql命令:docker exec -it tensquare_mysql bash
- docker ps -a:查看安装
- docker rm 4fa11859ae8f:删除安装
- redis安装后需要修改:redis.conf 修改 daemonize no 为 daemonize yes
- unitPrice=5.0, number=3, money=15.0, orderId=161, type=0, status=0
- docker start 123123:启动指定安装
- docker run -di --name=tensquare_redis -p 6379:6379 redis:docker启动redis
- docker exec -it 1f01d8ad4519 bash 进入redis后台执行redis命令
- redis-cli -h 192.168.0.24 -p 6379 -a 123456:连接
-
在docker中使用rabbitmq
- 初始安装rabbitmq(六个端口):docker run -di --name=tensquare_rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 15671:15671 -p15672:15672 -p 25672:25672 rabbitmq:management
- 初始用户guest
-
Dockerfile
-
什么是Dockerfile
- 对于开发人员:可以为开发团队提供一个完全一致的开发环境
- 对于测试人员,可以直接拿开发时所构建的镜像或者通过Dockerfile文件构建一个新的镜像开始工作了
- 对于运维人员,在部署时可以实现应用的无缝移植
-
Dockerfile常用命令
命令 作用 FROM image_name:tag 定义了使用哪个基础镜像启动构建流程 MAINTAINER user_name 声明镜像的创建者 ENV key value 设置环境变量 (可以写多条) RUN command 是Dockerfile的核心部分(可以写多条) ADD source_dir/file dest_dir/file 将宿主机的文件复制到容器内,如果是一个压缩文件,将会在复制后自动解压 COPY source_dir/file dest_dir/file 和ADD相似,但是如果有压缩文件并不能解压 WORKDIR path_dir 设置工作目录 EXPOSE port1 prot2 用来指定端口,使容器内的应用可以通过端口和外界交互 CMD argument 在构建容器时使用,会被docker run 后的argument覆 盖 ENTRYPOINT argument 和CMD相似,但是并不会被docker run指定的参数覆盖 VOLUME 将本地文件夹或者其他容器的文件挂载到容器中 -
基于docker搭建私有镜像与持续集成
-
Dockerfile环境搭建
- 在usr/local创建dockerjdk8文件夹
- 拷贝DockerFile配置文件到dockerjdk8目录
- 拷贝jdk8安装文件
- docker build -t=‘jdk1.8’ .:执行dockerfile
- 退出到根目录docker启动jdk
- docker run -di --name=tensquare_jdk jdk1.8
- 下载私有仓库镜像:docker pull registry
- docker run -di --name=registry -p 5000:5000 registry:启动私有仓库镜像
- vi etc/docker/daemon.json:修改配置文件
- 在文件中添加"insecure-registries":[“192.168.133.128:5000”]配置
- 重启docker:systemctl restart docker
- docker启动私有仓库
- docker tag jdk1.8 192.168.133.128:5000/jdk1.8:标记本地文件到私有库
- docker push 192.168.133.128:5000/jdk1.8:上传到私有库
-
maven插件自动部署(此方式是maven的自动部署,与持续集成不同)
-
修改docker机的宿主配置,让其可以远程访问:
- 打开配置文件:vi /lib/systemd/system/docker.service
- 修改配置文件:在"ExecStart=/usr/bin/dockerd"后边添加 -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
-
重启docker
- 刷新daemon:systemctl daemon-reload
- systemctl restart docker:重启
-
重启仓库
-
对基本的项目模块添加maven上传插件
<build> <finalName>app</finalName><!--项目名称--> <plugins> <plugin><!--spring-boot maven插件和下边衔接--> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <!-- docker的maven插件,官网 https://github.com/spotify/docker-maven-plugin --> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.4.13</version> <configuration> <imageName>192.168.133.128:5000/${project.artifactId}:${project.version}</imageName> <baseImage>jdk1.8</baseImage> <entryPoint>["java", "-jar","/${project.build.finalName}.jar"]</entryPoint> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> <dockerHost>http://192.168.133.128:2375</dockerHost> </configuration> </plugin> </plugins> </build>
-
在yml配置文件添加git仓库地址
- –rabbitmq消息总线配置–
-
在idea的命令行中构建上传项目模块:mvn clean package docker:build -DpushImage
[外链图片转存失败(img-Q9mqyNJr-1568435892531)(D:\Users\Administrator.DESKTOP-NBB06J4\Desktop\微信截图_20190410060155.png)]
-
idea上传模块命令2:mvn package -Dmaven.test.skip=true docker:build -DpushImage
-
docker命令查看上传的模块
-
docker启动模块(指定端口|项目|版本):docker run -di --name=tensquare_config -p 8070:8070 192.168.133.128:5000/tensquare_config:1.0-SNAPSHOT
-
启动后浏览器访问测试
-
-
-
持续集成
-
docker 下载gogs:docker pull gogs/gogs
-
安装gogs:docker run -di --name=gogs -p 10022:22 -p 3000:3000 -v /var/gogsdata:/data gogs/gogs
[外链图片转存失败(img-ewCp5BZU-1568435892533)(D:\Users\Administrator.DESKTOP-NBB06J4\Desktop\微信截图_20190410062144.png)]
- 启动较慢
- 根据配置的端口访问gogs:http://192.168.133.128:3000/
- 然后配置gogs在网页安装
- 注册用户,并登录
- 上传代码到gogs
-
jenkins安装
-
首先把jdk安装到宿主机上(此安装相当于整个环境下安装,与build的jdk容器不同)
- 上传jdk.rpm文件
- 执行安装命令:rpm -ivh jdk-8u171-linux-x64.rpm;此安装根目录:/usr/java/jdk.1.8
-
下载Jenkins包/或者拖拽本地jenkins包到主机
-
安装Jenkins: rpm -ivh jenkins-2.83-1.1.noarch.rpm
-
修改Jenkins默认配置:vi /etc/sysconfig/jenkins
- 修改用户:JENKINS_USER=“root”
- 修改端口:JENKINS_PORT=“8888”
-
启动Jenkins:systemctl start jenkins
-
通过配置端口访问Jenkins
-
在Jenkins配置文件查看密码:/var/lib/jenkins/secrets/initialAdminPassword
-
登录后在系统配置中的可选插件搜索maven[Maven Integration]并直接安装
-
git和maven安装好就行
-
全局工具配置
- 修改本地仓库配置文件:vi /usr/local/maven/conf/settings.xml
- /usr/local/repository
- 把maven拖到usr/local下
- 修改本地仓库配置文件:vi /usr/local/maven/conf/settings.xml
-
在idea安装基础公共模块:clean install
-
maven软件解压拖拽到服务器/usr/local
-
把本地maven仓库拷贝到maven配置的仓库兵改为repository:里边放基础公共模块
-
jenkins中配置jdk环境为/usr/java/jdk1.8.0_171-amd64
-
配置maven变量:/usr/local/maven
-
创建新项目eureka,关联项目仓库到gogs,修改eureka的pom文件,clean package docker:build -DpushImage
-
在上传的模块中添加maven部署插件
-
在build中设置pom;clean package docker:build -DpushImage
-
jenkins点击发布
-
docker run di运行项目
docker run -d -e 'CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}' --name=node1 consul agent -server -bind=172.17.0.2 -bootstrap-expect=3 -node=node1 -node:节点的名称 -bind:绑定的一个地址,用于节点之间通信的地址,可以是内外网,必须是可以访问到的地址 -server:这个就是表示这个节点是个SERVER -bootstrap-expect:这个就是表示期望提供的SERVER节点数目,数目一达到,它就会被激活,然后就是LEADER了
-
-
-
-
下载安装nginx
- 首先确保安装g++、gcc、openssl-devel、pcre-devel和zlib-devel软件
- 命令:yum install gcc-c++
- yum -y install zlib zlib-devel openssl openssl–devel pcre pcre-devel
- 已安装通过yum remove nginx来卸载
- 下载nginx包:wget https://nginx.org/download/nginx-1.11.3.tar.gz
- 或者使用docker下载nginx安装包:docker pull nginx
- 首先确保安装g++、gcc、openssl-devel、pcre-devel和zlib-devel软件