CentOS安装Docker部署Mysql、jar及更新jar

CentOS 7.3、Docker、Mysql 8、SpringBoot-jar

  • Docker安装
    • 1、添加软件仓库
    • 2、安装 Docker
    • 3、配置非root用户使用docker
    • 备注
  • 通过Docker安装Mysql
    • 1、拉取mysql镜像
    • 2、创建mysql容器
    • 3、进入mysql容器
    • 4、navicat尝试连接mysql
  • 通过Docker安装部署jar包
    • 1、springboot项目打包
    • 2、Dockerfile文件制作
    • 3、把jar和Dockerfile放在服务器
    • 4、运行
  • 更新jar包

Docker安装

通过阿里云轻量应用服务器远程连接
CentOS安装Docker部署Mysql、jar及更新jar_第1张图片

1、添加软件仓库

首先需要安装一些基本的软件

$ sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

使用阿里云的镜像仓库地址,阿里云镜像站地址为:https://mirrors.aliyun.com/,下拉找到 Docker CE 点进去就是 Docker CE 的镜像仓库使用说明,也可以通过这个地址直接打开:https://developer.aliyun.com/mirror/docker-ce

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

2、安装 Docker

添加好软件仓源之后就可以安装 Docker 了:

sudo yum install docker-ce docker-ce-cli containerd.io

在下载好软件包之后可能会让你确认 Docker 的 GPG 密钥信息,确认密钥的指纹是否和 Docekr 文档上给出的密钥指纹信息一致:

060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35

一致的话就可以输入y确认。安装好之后 Docker 并没有启动,我们需要手动启动 Docker:

$ sudo systemctl start docker
$ sudo systemctl enable docker

可以将上面命令中的 start 换为 status 来查看 Docker 的运行情况。换为 stop 则停止 Docker,换为 enable 则启用开机自启,换为 disable 则禁用开机自启。

启动了 Docker 之后我们可以运行一个 hello-world 镜像试试看:

$ sudo docker run hello-world

3、配置非root用户使用docker

在安装好之后的 docker 命令只能通过 sudo 去执行,那是因为 Docker 的守护程序使用 Unix 套接字来监听,而 Unix 套接字是属于 root 用户的,其它用户必须使用 sudo 去访问。但是 Docker 在运行时会授予 docker 用户组下面的用户访问权限。而 docker 用户组在安装好 Docker 之后就自动被创建,如果没有可以使用下面的命令去创建:

$ sudo groupadd docker

接着我们需要将当前用户添加到 docker 用户组中:

$ sudo usermod -aG docker $USER

$USER 就是当前用户的用户名。

加好之后我们需要注销然后重新登陆才会使配置生效。我们也可以使用下面的命令来使配置生效:

$ newgrp docker

接着我们就可以运行不带 sudo 的 docker 命令:

$ docker run hello-world

备注

如果服务器重启后(docker我们已经设置开机自启;但是容器没有在运行!所以需要手动运行容器)查看正在运行的容器
CentOS安装Docker部署Mysql、jar及更新jar_第2张图片
查看一下镜像
CentOS安装Docker部署Mysql、jar及更新jar_第3张图片
查看所有容器
CentOS安装Docker部署Mysql、jar及更新jar_第4张图片
运行一下容器就正常了
CentOS安装Docker部署Mysql、jar及更新jar_第5张图片

通过Docker安装Mysql

1、拉取mysql镜像

可以加mysql版本-

docker pull mysql:8.0.19
docker pull mysql

2、创建mysql容器

–name mysqltest容器名
用navicat连接的时候用3307端口
MYSQL_ROOT_PASSWORD=123456 密码为123456

docker run -d --name mysqltest -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.19

3、进入mysql容器

docker exec -it mysqltest bash
mysql -uroot -p
123456

4、navicat尝试连接mysql

主机:CentOS 7.3公网 IP 
端口:3307
用户名:root
密码:123456

如果报错:

Authentication plugin ‘caching_sha2_password’ cannot be loaded

原因是mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password
修改加密规则
进入mysql容器

docker exec -it mysql bash
ALTER USER 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;

更新一下用户的密码

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

刷新权限

flush privileges;

通过Docker安装部署jar包

首先需要准备登入一个可视化软件方便操作
CentOS安装Docker部署Mysql、jar及更新jar_第6张图片

1、springboot项目打包

部署docker依赖

    <properties>
        <docker.image.prefix>springboot</docker.image.prefix>
    </properties>
 <!-- docker插件 -->

            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <!--<version>0.2.3</version>-->
                <version>0.4.11</version>
                <configuration>
                    <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
                    <dockerDirectory>src/main/docker</dockerDirectory>
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>

点击打成jar包
CentOS安装Docker部署Mysql、jar及更新jar_第7张图片

2、Dockerfile文件制作

文件制作完成后需要把**.txt**去掉再放到服务器
CentOS安装Docker部署Mysql、jar及更新jar_第8张图片

3、把jar和Dockerfile放在服务器

通过可视化软件
CentOS安装Docker部署Mysql、jar及更新jar_第9张图片

4、运行

切换到文件夹

$ cd /home/java

查看一下文件夹的东西

$ ls

在这里插入图片描述

bulid一下 镜像名springbootdemo4docker

$ docker build -t springbootdemo4docker .

CentOS安装Docker部署Mysql、jar及更新jar_第10张图片

查看一下容器

$ docker images

CentOS安装Docker部署Mysql、jar及更新jar_第11张图片
运行刚刚创建的镜像容器

$ docker run -d -p 8080:8080 springbootdemo4docker

查看正常运行的容器

$ docker ps

CentOS安装Docker部署Mysql、jar及更新jar_第12张图片
成功!

更新jar包

更新好的jar包通过可视化软件把原来的jar包替换

切换到文件夹

$ cd /home/java

查看正在运行的容器

$ docker ps

CentOS安装Docker部署Mysql、jar及更新jar_第13张图片

停止运行容器

$ docker stop cbf45880f842

删除容器

$ docker rm cbf45880f842

CentOS安装Docker部署Mysql、jar及更新jar_第14张图片
查看所有容器

$ docker ps -a 
此时已经被删除了

CentOS安装Docker部署Mysql、jar及更新jar_第15张图片
查看镜像

$ docker images
镜像还在java8 不需要删除 项目需要删除

CentOS安装Docker部署Mysql、jar及更新jar_第16张图片

镜像删除

$ docker rmi ea8f1606312c

CentOS安装Docker部署Mysql、jar及更新jar_第17张图片
重新build一下

$ docker build -t baishitong .

重新运行一下容器

$ docker run -d -p 8080:8080 baishitong

成功
CentOS安装Docker部署Mysql、jar及更新jar_第18张图片

你可能感兴趣的:(docker,centos,java,mysql)