用docker在局域网虚拟一个docker虚拟机,支持单独ip,gpu,systemd,在docker里面安装docker

可以实现局域网内虚拟一台linux服务器,效果类似虚拟机,用docker实现,需要注意,这种方式和宿主机是不能通讯的,但是可以和局域网内的设备通讯

觉得好用可以加作者wx: lx-ivan

编写dockerfile

vim Dockerfile

FROM ubuntu

ENV DEBIAN_FRONTEND noninteractive

RUN apt-get update && apt-get install -y systemd vim curl tree nginx iproute2 sudo

CMD ["/lib/systemd/systemd"]

然后,再运行 docker build -t ubuntu-systemd . 编译镜像

用macvlan创建网络

macvlan会创建一个虚拟桥接网络

   docker network create -d macvlan --subnet=192.168.101.0/24 --gateway=192.168.101.1 -o parent=eno2 23net

–subnet 是子网网段,可以设置和局域网一个ip网段
–gateway是子网网关
-o parent=eno2 桥接网卡名称,我的网卡是eno2

运行docker

macvlan会创建一个虚拟桥接网络

   docker run -d  --gpus all --network=23net --ip=192.168.101.26 --privileged  --restart=always  -it ubuntu-systemd

–gpus all 开启gpu,如果宿主机没有gpu,可以不加
–network=23net 指定加入刚刚创建的macvlan网络
–privileged 升级为特权容器,一定要加这个,不然systemd运行不了
–restart=always 宿主机重启容器自动重启

在docker里面安装docker

sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install -y docker-ce

systemctl start docker 启动docker
在这里插入图片描述
完美~

觉得好用可以加作者wx: lx-ivan

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值