日度归档:2021年8月9日

为容器添加openssh-server服务,制作镜像,轻松运行若干可以随意折腾的容器Linux系统 2021-8-9

需求描述

有时候,我们需要测试一个简单的业务,需要一个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

Donate
云乞讨