springboot中Docker的原理和作用是什么

本篇内容介绍了“springboot中Docker的原理和作用是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

十余年的容县网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整容县建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“容县网站设计”,“容县网站推广”以来,每个客户项目都认真落实执行。

五、Docker

1. 简介

Docker是一个开源的容器引擎

Docker支持将软件编译成一个镜像,然后镜像中对各种软件做好配置,再将镜像发布出去,其他用户就可以直接使用这个镜像。

运行中的镜像被称为容器,容器的启动时非常快的。

springboot中Docker的原理和作用是什么

2. 核心概念

springboot中Docker的原理和作用是什么

docker主机(Host):安装了docker程序的机器(docker直接安装在操作系统上的)

docker客户端(Client):连接docker主机进行操作

docker仓库(Registry):用来保存各种打包好的软件镜像

docker镜像(Images):软件打包好的镜像,放在docker仓库中

docker容器(Container):镜像启动后的实例称为容器,容器是独立运行的一个或一组应用

docker的使用步骤:

  1. 安装Docker

  2. 去Docker仓库找到所需软件的镜像

  3. 使用Docker运行这个镜像,这个镜像就会生成一个Docker容器

  4. 对容器的启停,就是对这个软件的启停

3. 安装Docker

1. 安装虚拟机

  1. 安装VMWare、VirtualBox

  2. 在虚拟机中新建虚拟机实例(或导入已有的虚拟机镜像)

  3. 启动虚拟机,并使用root用户登录(root/zhangjiahui)

  4. 使用客户端连接linux服务器进行命令操作

  5. 设置虚拟机的网络

    1. 桥接网络 --> 选择本机的网卡(查看宿主机网络连接使用的网卡)

  6. 设置IP信息,并重启网络服务

    DEVICE=”ens33” 
    TYPE=”Ethernet” 
    DEFROUTE=”yes” 
    ONBOOT=”yes” 
    HAADDR=”00:0C:29:A3:C5:51”#根据自己虚拟机对应的网卡信息配置 
    IPADDR=”192.168.116.10” 
    GATEWAY=”192.168.116.2” 
    NM_CONTROLLED=”no” 
    DNS1=”8.8.8.8” 
    NETMASK=”255.255.255.0”

    1. 设置网络为固定IP地址方式(centos7 --> vi /etc/sysconfig/network-scripts/ifcfg-ens33)

  7. 重启网络服务

   centos7的网卡重启方法
   1、centos6的网卡重启方法:service network restart
      centos7的网卡重启方法:systemctl restart network
   
   2、DNS配置文件:cat /etc/resolv.conf
   设置主机和IP绑定信息:cat /etc/hosts
   设置主机名:cat /etc/hostname
   
   3、可以使用nmtui文本框方式修改IP
   
   4、关闭防火墙并设置开机不启动
   查看防火墙状态:systemctl status firewalld.service
   关闭:systemctl stop firewalld
   开启:systemctl start firewalld
   开机自动关闭:systemctl disable firewalld
   开机自动启动:systemctl enable firewalld
   查看开机是否启动:chkconfig --list|grep network(RHLE6)
   
   5、临时和永久关闭Selinux
   临时关闭:
   _getenforce
   Enforcing
   
   _setenforce 0
   setenforce:SELinux is disabled
   
   永久关闭:
   _vim /etc/selinux/config
  1. 通过ssh连接到linux虚拟机

2. 在CentOS 7上安装Docker

步骤:

  1. 检查内核版本(必须是3.10以上)

#检查linux内核版本
uname -r
  1. 安装docker

#docker安装命令
yum install docker
#中间提示输入y
y
  1. 启动docker

#启动docker
systemctl start docker

#查看docker版本号
docker -v
  1. 设置docker开机启动

#docker开机启动设置命令
systemctl enable docker
#命令执行结果提示内容
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
  1. 停止docker

#docker停止命令
systemctl stop docker

4. Docker常用操作及命令

1. 镜像操作

#检索 ##https://hub.docker.com
#usage: docker search 关键字
docker search MySQL

#拉取
#usage: docker pull 镜像名[:镜像tag] #不带tag,则默认为latest
docker pull mysql:5.5

#本地镜像列表查看
#usage: docker images
docker images

#删除已下载的本地镜像
#usage: docker rmi 镜像ID ##镜像ID可通过 docker images 命令查看
docker rmi f991c20cb508

2. 容器操作

软件镜像 --> 运行镜像 --> 产生容器(即正在运行中的软件)

#搜索镜像
docker search tomcat

#拉取镜像
docker pull tomcat

#根据镜像,启动容器
docker run --name mytomcat -d tomcat:latest
# --name 自定义容器名
# -d 后台运行

#查看在运行中的容器
docker ps

#停止运行中的容器 ##id可通过 docker ps 命令查看
docker stop d41fcf7ec705 #容器ID
docker stop mytomcat #容器name

#查看所有的容器(包括运行中的和已经退出的)
docker ps -a

#启动已经存在并退出的容器 ##id可通过 docker ps -a 命令查看
docker start d41fcf7ec705 #容器ID
docker start mytomcat #容器name

#删除已存在的容器
docker rm d41fcf7ec705 #此时容器必须已经停止
docker rm -f d41fcf7ec705 #此时容器可以在运行状态

#重命名容器
docker rename d41fcf7ec705 myTomcat1
docker rename mytomcat myTomcat1

#启动一个做了端口映射的tomcat容器
docker run -d -p 8888:8080 tomcat:latest
# -p HOST_PORT:CONTAINER_PORT 将主机端口映射到容器内部的一个端口

#主机的防火墙已经关闭,查看状态
service firewalld status

#查看容器运行日志
docker logs d41fcf7ec705
docker logs mytomcat

#更多常用命令
1. https://docs.docker.com/ee/
2. 参考docker hub上每个镜像的使用手册

5. 安装常用软件镜像

1. 安装并启动mysql

安装&启动命令:

docker run --name mysql03 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=zhangjiahui -d mysql:latest

远程客户端连接问题修复:

连接Docker启动的mysql出现:ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded

C:\mysqldata>mysql -h 127.0.0.1 -P 13306 -uroot -p
Enter password: ****
ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded: ÕÒ²»µ½Ö¸¶¨µÄÄ£¿é¡£

解决方案:

1.进入mysql容器
docker exec -it mysql2 /bin/bash

2.进入mysql
mysql -uroot -pzhangjiahui

3.修改密码默认加密方式
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

4. 修改root密码
alter user 'root'@'%' identified by 'zhangjiahui';
flush privileges;

几个高级的操作

1. 
docker run --name some-mysql -v /my/custom:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

-v : 把主机的/my/custom文件夹挂载到/etc/mysql/conf.d文件夹,修改配置只需要修改/my/custom下的配置文件即可

2. 
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

“springboot中Docker的原理和作用是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


文章名称:springboot中Docker的原理和作用是什么
地址分享:http://scyanting.com/article/pdjsed.html