springboot005Docker

编程

五、Docker

1. 简介

Docker是一个开源的容器引擎

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

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

2. 核心概念

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信息,并重启网络服务

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

    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”

  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

以上是 springboot005Docker 的全部内容, 来源链接: utcz.com/z/510425.html

回到顶部