JAVA开发进阶-谷粒商城学习笔记-02 项目简介与环境搭建(2)

JAVA开发进阶-谷粒商城学习笔记-02 项目简介与环境搭建(2)

软件环境安装

1.docker安装

1.1简介

Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。

Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker,就不用担心环境问题。

总体来说,Docker 的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。

引用自 阮一峰 Docker入门教程
http://www.ruanyifeng.com/blog/2018/02/docker-tutorial.html

1.2安装

PS.由于docker版本更新较快,在学习时,步骤已经与视频教程过程稍有不同,具体步骤以官方文档为准

首先访问Docker官方文档
JAVA开发进阶-谷粒商城学习笔记-02 项目简介与环境搭建(2)_第1张图片
点击下载和安装
JAVA开发进阶-谷粒商城学习笔记-02 项目简介与环境搭建(2)_第2张图片
选择Linux版本
JAVA开发进阶-谷粒商城学习笔记-02 项目简介与环境搭建(2)_第3张图片
选择对应的linux发行版本,这里选择CentOS
JAVA开发进阶-谷粒商城学习笔记-02 项目简介与环境搭建(2)_第4张图片
首先执行卸载命令,卸载之前系统上安装过的docker

sudo yum remove docker \
                docker-client \
                docker-client-latest \
                docker-common \
                docker-latest \
                docker-latest-logrotate \
                docker-logrotate \
                docker-engine

注意,使用sudo,默认登陆的是vagrant用户,无法运行相应命令
JAVA开发进阶-谷粒商城学习笔记-02 项目简介与环境搭建(2)_第5张图片
卸载完成后,首先安装相关依赖程序,并配置docker的安装仓库地址

 sudo yum install -y yum-utils
 sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

文档下面有一些可选安装项的配置,暂时跳过
JAVA开发进阶-谷粒商城学习笔记-02 项目简介与环境搭建(2)_第6张图片
下面执行命令安装docker的引擎和客户端,本人联通网络环境,没经过配置的情况下,会自动选择阿里云的镜像下载,所以安装较快

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

安装过程比较慢,中间要手动输入两次y确认安装,显示Complete安装完成

1.3运行docker

安装完成之后
在这里插入图片描述

 sudo systemctl start docker

启动docker,执行docker -v可以查看当前安装的版本
在这里插入图片描述

1.4设置docker开机自启动

执行命令

  sudo systemctl enable docker

在这里插入图片描述
这样,重启虚拟机,docker都会跟着自启动

1.5配置docker镜像加速

首先访问阿里云官网,点击右上角登陆,登陆需要使用支付宝或淘宝扫码,第一次登陆需要填写一些用户信息,使用或购买过阿里云服务器的用户可以直接正常登陆
登陆后点击右上角控制台
JAVA开发进阶-谷粒商城学习笔记-02 项目简介与环境搭建(2)_第7张图片
进入控制台后,点击左上角三条线展开
JAVA开发进阶-谷粒商城学习笔记-02 项目简介与环境搭建(2)_第8张图片
选择容器服务下的容器镜像服务
JAVA开发进阶-谷粒商城学习笔记-02 项目简介与环境搭建(2)_第9张图片
进入后,选择左面的 镜像工具-镜像加速器
JAVA开发进阶-谷粒商城学习笔记-02 项目简介与环境搭建(2)_第10张图片
选择对应的系统,根据文档提示进行操作,执行下面的命令开启镜像加速

命令为在docker的配置文件夹下建立配置文件,配置文件中,记录了阿里云镜像的地址,之后执行docker的重启命令,生效配置

之后下载一些docker的容器,就会通过阿里云的镜像加速,提升下载速度

2.docker安装mysql

首先访问Docker hub 仓库 寻找对应的镜像
JAVA开发进阶-谷粒商城学习笔记-02 项目简介与环境搭建(2)_第11张图片
搜索mysql后,出现的带有Offical Image标志的镜像,就是mysql官方的镜像,点击进入后,点击tag,可以查看对应的镜像版本,以及相应的安装命令
JAVA开发进阶-谷粒商城学习笔记-02 项目简介与环境搭建(2)_第12张图片
本次需要安装mysql 5.7版本,所以命令为

  docker pull mysql:5.7

注意要使用root权限执行

  直接执行 sudo docker pull mysql:5.7
  或者 su root
  输入密码(vagrant默认密码为vagrant)
  进入root用户后再执行
  docker pull mysql:5.7

JAVA开发进阶-谷粒商城学习笔记-02 项目简介与环境搭建(2)_第13张图片

docker会自动开始下载安装对应的镜像

注意后续执行命令报权限错误时,请确认是否在root用户,或命令前是否加了sudo,后面不再赘述

安装完成后,执行

  docker images 

可以查看已经安装的镜像的名字、版本号、id等信息
在这里插入图片描述
安装成功后,执行命令,后台启动mysql

docker run -p 3306:3306 --name mysql \
	-v /mydata/mysql/log:/var/log/mysql \
	-v /mydata/mysql/data:/var/lib/mysql \
	-v /mydata/mysql/conf:/etc/mysql \
	-e MYSQL_ROOT_PASSWORD=root \
	-d mysql:5.7

docker启动的命令为 docker run -p 参数指定运行时的端口映射,当前命令 -p 3306:3306 即把docker容器内的mysql运行的3306端口,映射到了当前centos上的3306端口
–name 参数是给当前运行的虚拟环境进行了命名,当前命名为mysql
-v 参数是将虚拟环境中的目录进行了挂载,将docker虚拟环境中的目录,挂载到了当前centos环境中的目录,目录不存在时会自动创建。 /mydata/mysql/log:/var/log/mysql 即将虚拟环境中的/var/log/mysql目录挂在到了centos下的/mydata/mysql/log下,三条挂载参数分别将 日志、配置、数据仓库挂载到了本机的目录下。
-e参数,指定了执行时的环境变量,这里指定了mysql root用户的密码,暂时默认也为root(可随意修改,此处时防止后期忘了密码设置的默认密码)
最后-d参数,设定了让服务后台运行,前台不打印出运行信息,最后跟着镜像名称 mysql:5.7 。每一行结尾的\反斜杠表示换行的意思,否侧就要写很长一行的启动命令。
JAVA开发进阶-谷粒商城学习笔记-02 项目简介与环境搭建(2)_第14张图片
执行后mysql服务就启动了。此时 执行 docker ps 命令,可以查看当前启动的镜像服务
在这里插入图片描述
此时使用数据库连接工具即可成功连接到数据库
JAVA开发进阶-谷粒商城学习笔记-02 项目简介与环境搭建(2)_第15张图片
数据库地址为上篇笔记中配置的IP地址,密码为自己设置的密码。
连接后,还有一些后续的配置需要进行配置,cd进入/mydata/mysql/conf/目录下
执行

  vi my.cnf

  按下键盘的 insert 或者 i 键 进入插入模式,将下面内容复制进文件
  [client]
  default-character-set=utf8

  [mysql]
  default-character-set=utf8

  [mysqld]
  init_connect='SET collation_connection = utf8_unicode_ci'
  init_connect='SET NAMES utf8'
  character-set-server=utf8
  collation-server=utf8_unicode_ci
  skip-character-set-client-handshake
  skip-name-resolve
  
  退出保存

配置文件主要进行了字符集相关的设置,设置为了utf-8
执行命令重启mysql容器,使配置生效

  docker restart mysql

至此,完成了mysql环境的安装

3.docker安装redis

这里直接执行

  docker pull redis

下载安装最新版的redis镜像,稍等执行下载并安装完成
JAVA开发进阶-谷粒商城学习笔记-02 项目简介与环境搭建(2)_第16张图片
后面执行启动命令时,需要将redis的相关文件进行挂载,其中有一个配置文件,需要先手动创建,否则容易将配置文件挂载成一个目录
执行命令新建一个目录,并在目录下新建一个redis的配置文件

  mkdir -p /mydata/redis/conf
  touch /mydata/redis/conf/redis.conf

之后执行redis的启动命令

   docker run -p 6379:6379 --name redis \
     -v /mydata/redis/data:/data \
     -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
     -d redis redis-server /etc/redis/redis.conf

命令的具体参数的意义不在赘述,启动后,执行docker ps 查看镜像是否已经启动
如果此处看不到redis的服务,可能是因为某些命令输入错了,导致启动失败
输入 docker ps -a 查看全部镜像,记住失败的镜像对应的id或者name,
执行docker rm 对应的name 即可移除启动失败的镜像,检查启动命令修改并尝试重新启动。
此时已经可以尝试使用数据库工具进行连接了
JAVA开发进阶-谷粒商城学习笔记-02 项目简介与环境搭建(2)_第17张图片
此时,可能redis没有默认开启持久化,即数据存在内存,重启docker镜像服务后,数据会丢失,需要修改相关配置文件,重新启动

  vi /mydata/redis/conf/redis.conf
  
  在其中添加一句
  
  appendonly yes
  
  保存并退出,之后执行重启命令
  
  docker restart redis

redis的安装就到此结束了

你可能感兴趣的:(java,docker,容器)