zoukankan      html  css  js  c++  java
  • 如何在Docker中运行Docker

    https://github.com/billyteves/ubuntu-dind

    ubuntu:18.04 安装docker后docker 的启动参数位置:/lib/systemd/system/docker.service

    在docker中,如果出现安装错误导致的命令失败,可以采用socat方式监听docker的socket,做一个代理的sock转发数据并获取日志,用于排查问题,使用如下:

    socat -v UNIX-LISTEN:/tmp/dockerapi.sock UNIX-CONNECT:/var/run/docker.sock

    docker 开启跨域资源共享

    ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://127.0.0.1:2376 --api-cors-header=*

    将虚拟机打包到docker里面

    首先需要知道要打包的镜像的位置:

    我自己的是用kvm直接搭建的,所以镜像一开始就是由自己创建的,例如虚拟机等镜像分别为:.vid或者.vmdk结尾

    下面是打包的步骤:

    1.VMDISK="/home/xxx/workspace/kvm_qume/centos1.qcow2"   指定镜像的位置

    2.sudo modprobe nbd                                     初始化一个qemu-nbd 需要的内核模块

    3.sudo qemu-nbd -c /dev/nbd0 -r $VMDISK    将虚拟机的磁盘连接到一个虚拟的设备节点上

    4.ls /dev/nbd0p*

    会有以下两个设备文件

    /dev/nbd0p1 /dev/nbd0p2            

    5.sudo mount /dev/nbd0p2 /mnt  将分区挂载到/mnt

    6.sudo tar cf img.tar -C /mnt .

    7. sudo umount /mnt && sudo qemu-nbd -d /dev/nbd0

    进过实际的运行,发现在ubuntu:18.04 上,当运行qemu-nbd -d /dev/nbd0,该设备块提示不在连接,但是使用lsblk 发现设备块仍然存在并且无法再使用了,处于占用的状态

  • 相关阅读:
    json转换字符串
    windows下Xshell远程访问虚拟机
    win7去箭头指令
    n核CPU为什么计算速度达不到单核n倍
    vim字符串的替换
    转发的别人的vim编码和终端编码的设置
    音频操作
    scanf函数
    文字常量区和栈区区别
    Linux 进程
  • 原文地址:https://www.cnblogs.com/estherSH/p/13028878.html
Copyright © 2011-2022 走看看