Docker (一) linux下Docker使用配置和持续集成部署分布式系统

1. 安装java环境

  1. 下载java linux安装包jdk-8u201-linux-x64.tar.gz
  2. 在linux下创建soft 文件夹,移动到改文件夹
  3. tar -xzvf jdk-8u201-linux-x64.tar.gz 解压
  4. mkdir /usr/local/java 创建文件夹
  5. mv jdk1.8.0_201//usr/local/java 移动到java文件夹下
  6. vi /etc/environment配置系统环境变量
  7. export JAVA_HOME=/usr/local/java/jdk1.8.0_201
    export PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:PATH
    export CLASSPATH=.: J A V A H O M E / l i b / d t . j a r : JAVA_HOME/lib/dt.jar: JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar
  8. 配置用户变量 vi /etc/profile
    在两段代码直接配置第7点的代码
  9. 使之环境生效 source /etc/profile

2. 安装数据库MYSQL

  1. apt-get install mysql-server
  2. whereis mysql (查找mysql安装的路径)
  3. cd /etc/mysql/mysql.conf.d
  4. vi mysqld.cnf 打开mysql配置环境
  5. 注释掉bind-address 或者配置改成 0.0.0.0(所有人都能访问到)
  6. service mysql restart 重启mysql
  7. mysql -u root -p 登陆mysql
  8. 授权root用户允许所有人连接
    grant all privileges on . to root@% identified by ‘你的mysql root的账号密码’;

3. 安装Docker

1.使用脚本自动安装
curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh -mirror Aliyun

  1. 通过docker -version 查看是否安装成功

  2. 配置国内代理镜像,加快下载速度(可不配置) 在/etc/docker/daemon.json中写入如下内容
    {
    “registry-mirrors”:[“https://registry.docker-cn.com”]
    }

或者
{
“registry-mirrors”:[“https://docker.mirrors.ustc.edu.cn”]
}
4.重启服务
sudo systemctl daemon-reload
sudo systemctl restart docker

5.拉取 tomcat9的镜像 (docker pull ip:port/tomcat:jre-9)
docker pull tomcat 安装tomcat
docker pull tomcat:9-jre8 升级tomcat9

3-5步可省略
  1. 查看安装的镜像
    docker imagers
    7.运行镜像
    docker run -p 8080:8080 tomcat (开启tomcat 8080端口)

3.1 Docker常用命令

  1. docker image ls 列出安装的镜像
  2. docker run -it --rm \ (回车) (-it 表示以交互式方式允许容器,–rm表示退出容器就立即删除这个容器new出来的本身对象)
  3. ubuntu:16.04 \ (回车)
  4. bash (回车) 允许bash这个程序
    (1) 查看系统信息 cat /etc/os-release
  5. exit 或 按Ctrl+d 退出容器
  6. docker images rm ID(镜像ID) 删除容器
  7. docker rmi 删镜像
    (1)docker run -it 镜像ID bash 交互式地运行镜像
    (2)docker exec -it 镜像ID
    bash 交互式地进行镜像里面

3.2 Docker 自定义镜像

1.编写Dockerfile脚本 (以下举例tomcat为例子)

编写Dockfile文件
FROM tomcat  (基于tomcat的镜像,继承)
WORKDIR /usr/local/tomcat/webapps/ROOT/  (切换到这个工作路径)
RUN rm -fr *
RUN echo “hello docker”> /usr/local/tomcat/webapps/ROOT/index.html

2.构建镜像命令

 docker build -t myshop(名称) .(标签 点表示当前目录)

3.3 Docker 守护进程运行

-d 以守护态运行

 docker run -p 8080:8080 -d tomcat 

3.4 为Docker 设置数据卷

-v 数据卷 :/usr/local/docker/tomcat/ROOT
宿主机路径:/usr/local/docker/tomcat/webapps/ROOT tomcat 容器路径

docker run -p 8080:8080 –name tomcat -d -v
/usr/local/docker/tomcat/ROOT: /usr/local/docker/tomcat/webapps/ROOT tomcat 

3.5 Docker-Compose工具(更好用的命令工具)

安装Docker compose

1.使用如下命令安装

sudo curl -L
"https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname
-s)-$(uname -m)" -o /usr/local/bin/docker-compose
  1. 如果下载速度慢,可改用如下地址安装
    sudo curl -L “https://get.daocloud.io/docker/compose/releases/download/1.24.0/docker- compose- ( u n a m e − s ) − (uname-s)- (unames)(uname -m)” -o /usr/local/bin/docker-compose

2.添加权限

sudo chmod +x /usr/local/bin/docker-compose
  1. docker-compose 运行
    (1)当前目录下先配置docker-compose.yml配置文件
    (2) 以守护态运行容器 docker-compose up -d
    停止容器运行 docker-compose down

3.6 Docker-compose 启动springboot项目

[参考](https://www.cnblogs.com/zhangjianbing/p/9156366.html)
1.创建Dockerfile文件内容如下

FROM java:8
MAINTAINER 70kg 449246146@qq.com
VOLUME /tmp ADD mystory-1.0.0-SNAPSHOT.jar app.jar RUN bash -c 'touch /app.jar'
ENTRYPOINT
["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

介绍一下:

FROM :表示使用 Jdk8 环境 为基础镜像,如果镜像不是本地的会从 DockerHub 进行下载

MAINTAINER :指定维护者的信息
·
VOLUME :VOLUME 指向了一个/tmp的目录,由于 Spring Boot 使用内置的Tomcat容器,Tomcat 默认使用/tmp作为工作目录。这个命令的效果是:在宿主机的/var/lib/docker目录下创建一个临时文件并把它链接到容器中的/tmp目录
·
ADD :拷贝文件并且重命名(前面是上传jar包的名字,后面是重命名)
·
RUN :每条run指令在当前基础镜像执行,并且提交新镜像
·
ENTRYPOINT :为了缩短 Tomcat 的启动时间,添加java.security.egd的系统属性指向/dev/urandom作为 ENTRYPOINT

2.将创建好的Dockerfile文件和jar包上传到服务器,放在同一文件夹下,进入jar包所在文件夹,执行命
注意:后面末尾有一个空格和一个“.”,mystory是创建的镜像的名字,“.”表示当前目录
docker build -t mystory .

在这里插入图片描述

3.7 使用网桥实现跨主机docker通信

在这里插入图片描述
2.
在这里插入图片描述
3.

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

4. 自动化部署

4.1 Git 配置免密登陆

使用git工具

Ssh-keygen -t rsa -C “账号”
  1. 在linux服务器上安装git工具 apt-get install git 安装

  2. 查看版本 git version

  3. 配置免密登陆账号
    ssh-keygen -t rsa -C xxxxxx@qq.com
    在这里插入图片描述

  4. 进入ssh的目录 cd /home/ubuntu/.ssh

vi id_rsa.pub 复杂公钥
配置到gitlab 的SSH中
在这里插入图片描述

  1. 拉取源代码 git clone

git clone git@gitlab.com:wx2019/dependences.git

  1. 创建本地maven
    cd /usr/local
    mkdir maven
    在这里插入图片描述
  2. 把本地maven 仓库上传到远程 这个maven文件夹
  3. 解压 tar -xzvf 压缩包名
  4. vi /etc/profile
    配置maven环境变量和java环境变量(如果没有配置)

配置内容如下

export
MAVEN_HOME=/usr/local/maven/apache-maven-3.5.4

export
JAVA_HOME=/usr/local/ jdk-8u201-linux-x64

export
JRE_HOME=/usr/local/ jdk-8u201-linux-x64/jre

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$MAVEN_HOME/bin
  1. source /etc/profile 生效
  2. 查看 java -version
    Mvn -v
  3. 打包

进入项目路径

mvn clean package -Dmaven.test.skip=true

如果没有配置项目的setting目录,则去到
Maven目录的conf的配置文件查看

cd .m2/repository

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_给条出路吧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值