需求描述
有时候,我们需要测试一个简单的业务,需要一个Linux环境,运行完业务测试后,就可以删除这个环境
这样的一个需求,一般,我们可以通过主机的虚拟化平台来进行,比如用vmware virtualbox创建一个虚机,本次实践,使用docker进行虚拟化的Linux容器,更方便
素主机系统# docker -v Docker version 19.03.12, build 48a66213fe 宿主机系统# docker run -it --name myLinux debian:10 /bin/bash #执行一个容器 宿主机系统# docker run -it --name myLinux ubuntu:16.04 /bin/bash # 或者执行Ubuntu的 容器# apt-get update 容器# apt-get install openssh-server vim gcc make wget curl iptables ipset cron python3 python3-pip 容器# mkdir -p /var/run/sshd 容器# /usr/sbin/sshd -D & //启动ssh服务 容器# passwd //设置一个密码 容器# vi /etc/ssh/sshd_config //修改SSH配置文件 PermitRootLogin yes 容器# cd /root ; mkdir -p ./sh ./src ./data ./log 容器# vi /root/.vimrc set mouse-=a 容器# source .vimrc 容器# vi /root/sh/run.sh #!/bin/bash # START echo " + start SERVICEs" /usr/sbin/sshd -D # /etc/init.d/cron start echo " + started SERVICEs" # END 容器# chmod +x /root/sh/run.sh 容器# apt-get install locales //语言环境 容器# /usr/sbin/dpkg-reconfigure locales Locales to be generated: 158 486 Generating locales (this might take a while)... en_US.UTF-8... done zh_CN.UTF-8... done 1. None 2. C.UTF-8 3. en_US.UTF-8 4. zh_CN.UTF-8 Default locale for the system environment: 3 容器# exit 宿主机系统# docker commit -m="LinuxVM" -a "Dasmz" myLinux mserver:1.0 宿主机系统# docker images REPOSITORY TAG IMAGE ID CREATED SIZE mserver 1.0 953b83715bb6 11 seconds ago 348MB 宿主机系统# docker run -d -p 31001:22 -p 31011:443 -p 41011:41011 --cap-add=NET_ADMIN --cpus=0.5 --name vm01 mserver:1.0 /root/sh/run.sh // 22 SSH // 443 HTTPS // 41011 NORMAL-Port // 2021-9-6 VM01 用于提供IP地址查询的API 宿主机系统# docker run -d -p 31002:22 -p 31012:443 -p 41012:41012 --cap-add=NET_ADMIN --cpus=0.5 --name vm02 mserver:1.0 /root/sh/run.sh // 31002 - 22 SSH // 31012 - 443 HTTPS // 41012 - 41012 NORMAL-Port // 2021-9-6 VM02 这台,目前用来跑其他测试。 // 冗余的信息 宿主机系统# docker run -d -p 31002:22 -p 31012:5000 --cpus=0.5 -m 500M --name vm02 mserver:1.2 /root/sh/run.sh 宿主机系统# docker run -d -p 31003:22 -p 31013:5000 --cpus=0.5 -m 500M --name vm03 mserver:1.2 /root/sh/run.sh 宿主机系统# docker run -d -p 31004:22 -p 31014:5000 --cpus=0.5 -m 500M --name vm04 mserver:1.2 /root/sh/run.sh 宿主机系统# docker run -d -p 31005:22 -p 31015:5000 --cpus=0.5 -m 500M --name vm05 mserver:1.2 /root/sh/run.sh 客户端# 登录vm01 安装好flask之后 宿主机系统# docker commit -m="Debian10-FLASK" -a "Dasmz" vm01 mflask:1.0 宿主机系统# docker images REPOSITORY TAG IMAGE ID CREATED SIZE mflask 1.0 3cd442bde067 About a minute ago 725MB mserver 1.0 953b83715bb6 2 hours ago 348MB 宿主机系统# docker run -d -p 31005:22 -p 31006:5000 --cpus=0.5 -m 500M --name vm03 mflask:1.0 /root/sh/run.sh 宿主机系统# docker run -d -p 31007:22 -p 31007:5000 --cpus=0.5 -m 500M --name vm04 mflask:1.0 /root/sh/run.sh