/usr/lib/systemd/system/docker.service:14: Executable path specifies a directory: /us>
时间: 2023-07-05 08:32:52 浏览: 145
这个错误信息表示在 Docker unit 文件中,指定的可执行文件路径是一个目录,而不是一个可执行文件。你需要编辑 Docker unit 文件以修复这个问题。
你可以使用以下命令打开 Docker unit 文件:
```
sudo nano /usr/lib/systemd/system/docker.service
```
在打开的文件中,找到 `ExecStart` 行,它应该类似于以下内容:
```
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
```
检查该行中的可执行文件路径是否正确,如果不是,请将其更正为正确的路径。在本例中,正确的路径应该是 `/usr/bin/dockerd`。
完成后,请保存文件并退出编辑器。然后,运行以下命令以重新加载 Docker unit 文件并重启 Docker 服务:
```
sudo systemctl daemon-reload
sudo systemctl restart docker.service
```
如果你在解决这个问题上还有其他困难,请提供更多背景信息,我会尽力协助你解决问题。
相关问题
created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
### 回答1:
创建了一个符号链接,从/etc/systemd/system/multi-user.target.wants/docker.service指向/usr/lib/systemd/system/docker.service。
### 回答2:
此命令是在Linux操作系统中创建符号链接的命令,它的作用是将文件系统中的一个文件或目录链接到另一个文件或目录。
具体来说,该命令从/multi-user.target.wants目录中创建了一个名为docker.service的符号链接,链接的目标是/usr/lib/systemd/system目录中的docker.service文件。这意味着当系统运行到/multi-user.target时,它将启动docker.service服务。
通常情况下,多用户目标(multi-user target)是Linux系统的默认运行级别,也就是所有服务和程序都已经启动,可以供多个用户使用。Docker服务是一个很常见的服务,它可以用于创建、管理和部署容器化的应用程序。这个命令的作用就是将Docker服务配置为在系统启动时自动启动,而不需要手动运行它的启动命令。
总之,通过创建符号链接,可以优化Linux系统的管理和部署任务,使服务自动启动,程序更加稳定和高效。
### 回答3:
这句话是在讲Linux系统下如何创建软链接的操作,其中涉及到几个术语:
- symlink:软链接,也称为符号链接,是一种特殊的文件类型,它是指向另一个文件或目录的指针。
- /etc/systemd/system/multi-user.target.wants/docker.service:这是一条路径,表示在systemd系统下指定了一个服务docker,它需要在multi-user模式下运行。
- /usr/lib/systemd/system/docker.service:同样是一条路径,指定了docker服务的具体配置文件的位置。
那么,整句话的意思就是:将软链接从/etc/systemd/system/multi-user.target.wants/docker.service创建到/usr/lib/systemd/system/docker.service。
换句话说,这个操作的目的是为了指定docker服务的配置文件位置,并且确保它在multi-user模式下运行。软链接的使用使得我们可以将docker服务的配置文件存储在指定的路径下,同时又不会对系统和其他应用程序造成影响。
总之,这是一个简单但至关重要的指令,它能够帮助我们更好地管理docker服务。
mv -f /usr/local/hubrouting/hubrouting.service /usr/lib/systemd/system/转为docker怎么写
如果您想将 `/usr/local/hubrouting/hubrouting.service` 转移到 Docker 中,可以按照以下步骤进行操作:
1. 创建一个 Dockerfile,指定基础镜像,如下所示:
```
FROM ubuntu:latest
```
2. 将 `/usr/local/hubrouting/hubrouting.service` 复制到 Docker 镜像中,可以使用 `COPY` 命令,如下所示:
```
COPY /usr/local/hubrouting/hubrouting.service /usr/lib/systemd/system/
```
3. 在 Dockerfile 中安装 systemd,并启用 `hubrouting.service`,可以使用以下命令:
```
RUN apt-get update && apt-get install -y systemd
RUN systemctl enable hubrouting.service
```
4. 构建 Docker 镜像:
```
docker build -t hubrouting-image .
```
5. 运行 Docker 容器:
```
docker run -d --privileged --name hubrouting-container hubrouting-image
```
这样,`hubrouting.service` 就会运行在 Docker 容器中。
阅读全文