架构部分第一周作业

一、在两台服务器上安装kvm虚拟化,把其中一台的虚拟机迁移到另一台。

1.两天服务器需要提前开启cpu虚拟化
2.安装KVM相关工具包
yum -y install qemu-kvm libvirt virt-manager virt-install virt-viewer cockpit cockpit-machines

启动服务
systemctl start libvirtd
systemctl start cockpit.socket

3.提前准备ISO镜像目录,将需要安装的镜像上传到目录中
4.创建虚拟机:(virt-manager图像工具 virt-install命令行工具)
virt-install --virt-type kvm --os-variant=centos7.0 --name centos7-1 --ram 1024 --vcpus 2 --cdrom=/data/so/CentOS-7-x86_64-Minimal-2009.iso --disk path=/var/lib/libvirt/images/centos7-1.qcow2,size=10,format=qcow2,bus=virtio --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole

5.利用virt-clone克隆出模版
virt-clone -o centos7 -n centos7-3 -f /var/lib/libvirt/images/centos7-3.qcow2
-o centos7           //已存在的虚拟机名称
-n centos7-3		 //新虚拟机的名称
-f /var/lib/libvirt/images/centos7-3.qcow2  //新虚拟机磁盘文件路径,文件自动生成不需要实现创建

6.虚拟机迁移:
提前准备相同环境
1.拷贝/var/lib/libvirt/images/目录下虚拟机对应数据
2.拷贝/etc/libvirt/qemu/目录下虚拟机对应配置文件

二、手动制作一个容器镜像创建成容器并正常运行。

1.制作自定义基础镜像

1.准备docker环境

2.创建制作镜像目录
mkdir /data/dockerfile/{base/{ubuntu,centos},web/{tomcat,jdk,nginx}} -p

3.进入centos目录拉取基础镜像开始制作自定义基础镜像
cd /data/dockerfile/base/centos
docker pull centos:centos7.7.1908 //拉取centos7基础镜像

vim Dockerfile        //创建Dockerfile文件
FROM centos:centos7.7.1908
LABEL maintainer="lgx"
RUN yum -y install wget && rm -f /etc/yum.repos.d/* && wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/Centos-7.repo \
    && wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/epel-7.repo \
    && yum -y install  vim-enhanced tcpdump lrzsz tree telnet bash-completion net-tools wget bzip2 lsof  zip unzip nfs-utils gcc make gcc-c++ glibc glibc-dev
el pcre pcre-devel openssl  openssl-devel systemd-devel zlib-devel \    && yum clean all \
    && rm -f /etc/localtime  \
    && ln -s ../usr/share/zoneinfo/Asia/Shanghai /etc/localtime

4.制作自定义基础镜像
docker build -t centos7-base:v1 .

2.制作JDK镜像

1.进入到JDK目录下,上传JDK压缩包,从centos7主机上拷贝/etc/profile文件到当前目录
cd /data/dockerfile/web/jdk

├── Dockerfile
├── jdk-8u321-linux-x64.tar.gz
└── profile

2.修改profile文件,添加相关变量
export JAVA_HOME=/usr/local/jdk
export TOMCAT_HOME=/apps/tomcat
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$TOMCAT_HOME/bin:$PATH
export
CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar


3.准备Dockerfile文件
vim Dockerfile
FROM centos7-base:v1
LABEL maintainer="lgx"
ADD jdk-8u321-linux-x64.tar.gz /usr/local/src/
RUN ln -s /usr/local/src/jdk1.8.0_321 /usr/local/jdk
ADD profile /etc/profile
ENV JAVA_HOME /usr/local/jdk
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/:$JRE_HOME/lib/
ENV PATH $PATH:$JAVA_HOME/bin

4.制作JDK镜像
docker build -t centos7-jdk:8u321 .

5.进入镜像验证jdk安装
docker run -it --rm centos7-jdk:8u321 bash
[root@e16bd214cfb1 /]# jave -version
bash: jave: command not found
[root@e16bd214cfb1 /]# java -version
java version "1.8.0_321"
Java(TM) SE Runtime Environment (build 1.8.0_321-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.321-b07, mixed mode)
[root@e16bd214cfb1 /]# 

3.制作tomcat镜像

1.进入到tomcat目录下,将下载好的tomcat压缩包上传到当前目录
├── apache-tomcat-9.0.59.tar.gz
└── Dockerfile

2.创建Dockerfile文件
FROM centos7-jdk:8u321
LABEL maintainer="lgx"
ENV TZ "Asia/Shanghai"
ENV LANG en_US.UTF-8 
ENV TERM xterm 
ENV TOMCAT_MAJOR_VERSION 9
ENV TOMCAT_MINOR_VERSION 9.0.59 
ENV CATALINA_HOME /apps/tomcat
ENV APP_DIR ${CATALINA_HOME}/webapps 
RUN mkdir /apps  
ADD apache-tomcat-9.0.59.tar.gz /apps   
RUN ln -s /apps/apache-tomcat-9.0.59 /apps/tomcat

3.制作tomcat镜像
docker build -t tomcat-base:v1.0 .

4.制作业务镜像

1.在tomcat目录下创建jpress项目目录,将准备好的java程序war包上传到当前目录
mkdir jpress

├── apache-tomcat-9.0.59.tar.gz
├── Dockerfile
└── jpress
    ├── Dockerfile
    └── jpress-v4.0.7.war

2.创建Dockerfile文件
vim Dockerfile
FROM tomcat-base:v1.0
LABEL maintainer="LGX"
RUN echo 'PATH=/apps/tomcat/bin:$PATH' > /etc/profile.d/tomcat.sh
RUN . /etc/profile.d/tomcat.sh
RUN rm -rf /apps/tomcat/webapps/ROOT
ADD jpress-v4.0.7.war /apps/tomcat/webapps/ROOT.war
EXPOSE 8080
CMD /apps/tomcat/bin/catalina.sh run

3.制作业务镜像
docker build -t jpress:v1.0 .

4.运行业务镜像
docker run -d --name jpress -p 8080:8080 jpress:v1.0

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值