• 应用服务器部署:安装Docker及摘取镜像


    一、什么是Docker

    1、虚拟环境:

    (1)完整模拟硬件的虚拟环境:VMWare,Hyper-V,Virtual-Box,VMServer等。
    (2)不模拟硬件,只把虚拟环境当成一个应用程序(进程)来对待:Docker,非常轻量级的虚拟环境。
    (3)在VMWare中安装一个Linux,标配10G+、最小化安装近2G,而在Docker中,安装一个最小化CentOS或Ubuntu,大概只需要200M。

    2、Docker的特性与虚拟机的异同:

    (1)安装虚拟机软件如:VMware,在此虚拟机软件上安装操作系统(下载),把操作系统的虚拟机文件备份,随时复制并启动该操作系统。
    (2)在Linux上安装Docker软件,从镜像仓库拉取(Pull)操作系统或应用环境,基于该镜像文件创建一个容器(运行环境),备份容器以供下次使用(直接export容器,将容器提交(Commit)为本地镜像)
    (3))虚拟机环境直接完全模拟一套全新的硬件环境,Docker环境不虚拟硬件,直接使用宿主机资源(Docker默认下不限制CPU,内存资源),也可以直接指定分配某个容器的CPU或内存资源。
    (4)虚拟机可以直接与宿主机或局域网连接,分配IP地址(Brige,NAT),Docker容器无法获取IP地址(跟随于宿主机的IP地址)。
    (5)镜像相当于是容器的模板,通过镜像创建容器,容器修改后也可提交为镜像,删除容器并不会删除镜像,删除镜像则无法创建容器。
    在这里插入图片描述
    Docker与Docker之间可以互相通信:依赖于宿主机的网关。Docker与宿主机之间可以互相通信,外部设备无法直接访问Docker,必须把端口映射给宿主机,所以Docker的端口必须保持在宿主机上的唯一性。

    3、容器使用注意事项:

    (1)尽量让一个容器做─件事情,或启动一个服务。
    (2)尽量使用挂载的方式将数据文件挂载到容器中,容器里面尽量不要保存数据。
    (3)尽量让容器按照Docker化的要求来使用容器,而不是安装一个虚拟机。
    (4)尽量不使用交互模式来直接操作容器,而是在宿主机上执行命令,或者使用Docker File。(5)只要能解决问题,高效地解决问题,无论怎么用,都行。

    二、安装过程

    1、确保Linux内核3.X版本及以上,建议使用CentOS 7.X,64位。
    2、先安装一些必备工具包:

    • 1.安装网络相关命令: yum install net-tools
    • ⒉.安装实用工具: yum install -y yum-utils device-mapper-persistent-data lvm2

    3、配置yum下载源:
    1.添加yum镜像: yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    2.更新yum缓存: yum makecache fast
    4、安装Docker社区版:
    安装docker-ce: yum -y install docker-ce
    5、关于Docker服务启停
    systemctl start/stop/restart/status docker
    6、配置Docker的国内镜像
    vi /etc/docker/daemon.json

    {
    	"registry-mirrors" : [
    		"https://registry.dockercn.com",
    		"http://hub-mirror.c.163.com",
    		"https://docker.mirrors.ustc.edu.cn"
    	]
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    保存,重启Docker,查看docker info是否生效

    几个极其重要的概念:
    1、镜像(lmage):
    Docker相关站点事先制作好的带有操作系统或应用程序的一个文件包,下载回来后便可以启动Docker运行环境,类似于VMWare中的一个预先安装好虚拟机的虚拟机文件。自己也可以在自己的私有环境中制作镜像,供别人使用。通常的两个用于下载Docker镜像的知名站点: https://hub.docker.com/(速度极慢,不推荐),https://hub.daocloud.io/(国内镜像,推荐)
    docker pull daocloud.io/library/centos:8.2.2004
    2、容器(Container);:
    镜像的具体可启动的实例:容器要有名称便于唯一区分,如果需要外部访问,则必须映射端口,如果要共享文件夹,还需要做文件映射夹,等等。。。。。
    docker create -it --name centos8 -h mycentos8 -p 3307:3306 daocloud.io/library/centos:8.2.2004
    docker container ls -a
    3、实例:
    正在运行的容器: docker ps
    交互模式进入Docker容器内的命令行: docker exec -it centos8 /bin/bash
    4、宿主机与容器之间交换文件
    docker cp 宿主机文件 容器名:文件路径
    5、利用run命令—次处理create + start:
    创建并启动一个容器: docker run -it --name centos8 -h mycentos8 -p 3307:3306 centos:latest
    另外,可以使用docker run --rm来创建和启动容器,–rm参数表示:退出容器时不保存数据。
    6、在CentOS:Latest版本中安装MySQL 5.6:安装成8.0的MySQL,无法安装MySQL5.6版本,安装后无法启动MySQL服务。

    四、在Docker中安装配置Woniusales

    1、拉取镜像: docker pull centos:centos7.9.2009
    2、创建容器: docker create -it --name centos7.9 -h mycentos7-p 3307:3306 -p 8081:8080 centos:centos7.9.2009
    3、启动容器: docker start centos8
    4、将MySQL 5.6的rpm源复制到容器中: docker cp ~/mysql5/-community-release-el/-10.noarch.rpm centos7.9:/opt/
    5、进入容器: docker exec -it centos8/bin/bash
    6、在容器中的命令提示符下安装MySQL:

    安装源:rpm -ivh /opt/mysql57-community-release-e17-10.noarch.rpm
    编辑源:/etc/yum.repos.d/mysql-community.repo,将5.6版本的enabled设置为1
    清空缓存:yum clean al1
    安装MysQL : yum install mysql-server -y
    启动MySQL服务: systemctl status mysqld
    Failed to get D-Bus connection:operation not permitted
    发现此时无法启动MySQL,主要是因为默认的配置下,Docker不具备一台独立主机的所有功能,需要使用特权模式解决
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    7、使用特权模式创建Docker容器

    停止容器:docker stop centos8
    删除容器:docker rm centos8
    特权模式建容器: docker create -ti --name centos7.9 -h mycentos7 --privileged=true -p 3307:3306 -p 8081:8080 centos:centos7.9.2009 /sbin/init
    启动容器:docker start centos7.9
    进入容器:docker exec -it centos7.9 /bin/bash
    
    • 1
    • 2
    • 3
    • 4
    • 5

    8、按照正常流程安装MySQL并使用systemctl start mysqld启动,在特权模式下将可以正常启动。
    9、授权远程登录用户:

    GRANT ALL PRIVILEGES ON *,* To 'qiang'@'%’ IDENTIFIED BY '123456’ WITH GRANT OPTION;
    flush privileges;
    
    • 1
    • 2

    10、远程利用Navicat登录,创建数据库woniusales,并运行SQL语句生成数据。
    11、复制JDK、Tomcat和Woniusales.war文件到容器中
    12、解压JDK,并在~/.bash_profile文件中配置环境变量:

    export JAVA_HOME=/opt/jdk1.8.0_211
    PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
    export PATH
    
    • 1
    • 2
    • 3

    13、运行source .bash_profile使环境变量生效
    14、解压Tomcat,并将woniusales.war复制到webapps目录下,启动
    Tomcat
    15、配置数据库连接信息,重启Tomcat,完成。

  • 相关阅读:
    迅镭激光万瓦切割设备中标全球轨交装备龙头中国中车
    BERT-MRC数据预处理解读(以datasets squad数据为例)
    正则表达式替换占位符
    算法之Eigen库
    为什么通常在发送数据埋点请求的时候使用的是 1x1 像素的透明 gif 图片
    如何设计神经网络结构,神经网络特征可视化
    Springboot整合使用JPA进行增删改查
    基于python+django的美食餐厅点餐订餐网站
    1.1 Windows驱动开发:配置驱动开发环境
    SLAM中线特征的参数化和求导
  • 原文地址:https://blog.csdn.net/m0_51456787/article/details/126450471