Python - 装机系列53 容器内调用宿主机docker

说明

有时候还是需要在容器内部再启动新的容器,所以需要这个容器本身可以调用宿主机的docker命令。主要参考这篇文章,说的比较简单。

内容

原理很简单,把宿主机的docker程序给容器挂载,并赋给容器权限。

1 测试

使用前台状态启动一个容器

┌─root@andy-m4:/opt/prj21/jupyter_server/data
└─ $ docker run -it  \
> -u root \
> -v /usr/bin/docker:/usr/bin/docker \
> -v /var/run/docker.sock:/var/run/docker.sock \
> -v /usr/lib64/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7 622d529d0fe7

# 可以看到在容器里也可以成功调用docker命令
┌─root@ad56b6796c16:/
└─ $ docker ps
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                                                      NAMES
ad56b6796c16        622d529d0fe7          "bash"                   3 seconds ago       Up 3 seconds        5555/tcp                                                   wonderful_brahmagupta
d3762c9a6ae8        10e8fc9ebf35          "jupyter notebook"       9 minutes ago       Up 9 minutes        0.0.0.0:8888->8888/tcp                                     m4_pytorch_jupyter_v4

2 服务态

如果希望容器持久运行并可以开机自动重启,可以使用这个命令。

docker run -it -d  \
--restart=always -u root \
-v /usr/bin/docker:/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/lib64/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7 镜像名称
上一篇:自用笔记53——随机数


下一篇:MySQL中的一些使用积累