WSL2中安装docker 并开机启动

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WSL2中安装docker 并开机启动相关的知识,希望对你有一定的参考价值。

参考技术A win10 安装 wsl2 的步骤可参考 :
https://www.jianshu.com/p/8a25719c95de

依次执行以下几条命令

注意, 把 $USER换成你 安装wsl2时候取的 账号,



② 然后, 把以下内容添加到脚本中

③ 给脚本添加执行权限

1 如图, 我的登录名叫 ubuntu, 你把ubuntu改成你的登录名即可
2 NOPASSWD 冒号后面 ALL, 表示执行任何命令都不需要输密码 , 你也可以指定只有 /bin/sh /usr/local/sbin/start_docker.sh 这个命令不需要密码, 自己根据需求使用即可

点新建., 选择登录时, 所以用户

参数 :

把 只有计算机使用交流电.... 这个选项给去掉

这个时候就已经大功告成了, 保存好这个计划任务后, 就可以去 重启电脑试一下。

如何在高山容器中安装 Docker?

【中文标题】如何在高山容器中安装 Docker?【英文标题】:How can I install Docker inside an alpine container? 【发布时间】:2019-06-03 14:00:20 【问题描述】:

如何在 alpine 容器中安装 Docker 并运行 docker 映像? 我可以安装,但无法启动 docker,并且在运行时出现“docker command not found error”。

【问题讨论】:

Is it ok to run docker from inside docker?的可能重复 几乎普遍不鼓励,技术上也很复杂,但理论上是可行的。最好的选择是使用更高级别的编排器,如 Docker Compose,并且根本不让容器尝试启动其他容器。如果您可以容忍您的容器对主机具有不受限制的 root 访问权限,您还可以让它们访问主机的 Docker 套接字。 【参考方案1】:

用于在 alpine 中运行 docker-cli 的 Dockerfile

FROM alpine:3.10
RUN apk add --update docker openrc
RUN rc-update add docker boot

构建 docker 镜像

docker build -t docker-alpine .

运行容器(host 和 alipne 容器将共享同一个 docker 引擎

docker run -it -v "/var/run/docker.sock:/var/run/docker.sock:rw" docker-alpine:latest /bin/sh

【讨论】:

有什么方法可以将安装卷部分移动到 Dockerfile。所以只要我开始一个交互式终端会话,docker就可以正常工作了吗?? @mygitrepo 不,绑定挂载是运行时选项。您唯一的机会是在 docker 守护程序上启用 TCP(或对 unix 套接字进行反向代理)并使用 -H 标志(您可以使用 ENTRYPOINT 设置)【参考方案2】:

您只需要在基于 Alpine 的镜像中安装 Docker CLI 并运行容器挂载docker.sock。它允许使用主机的 Docker 引擎运行同级 Docker 容器。它被称为 Docker-out-of-Docker,被认为是在容器内运行单独的 Docker 引擎(又名 Docker-in-Docker)的一个很好的替代方案。

Dockerfile

FROM alpine:3.11

RUN apk update && apk add --no-cache docker-cli

构建镜像:

docker build -t alpine-docker .

运行容器挂载docker.sock-v /var/run/docker.sock:/var/run/docker.sock):

docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock alpine-docker docker ps

上面的命令应该在基于 Alpine 的容器中成功运行 docker ps

【讨论】:

有什么方法可以将安装卷部分移动到 Dockerfile。所以只要我开始一个交互式终端会话,docker就可以正常工作了吗?? @mygitrepo - 你可以使用 docker-compose 来做类似的事情。您可以在那里定义挂载,然后使用docker-compose run --rm alpine-docker-svc docker-compose 文件看起来像(抱歉,SO cmets 中没有换行符):` version: '3' services: alpine-docker-svc: build: 。卷: - /var/run/docker.sock:/var/run/docker.sock `

以上是关于WSL2中安装docker 并开机启动的主要内容,如果未能解决你的问题,请参考以下文章

CentOS中安装docker

如何在CentOS6.5系统中安装Docker

VBox自动启动websrv 并开机启动所有的虚拟机

Windows10 开机自启动 WSL1 中的ROS脚本

VMware虚拟机中安装系统启动一直黑屏

docker中怎样设置开机启动--随容器的启动而启动服务?