小编Phư*_*yễn的帖子

如何在 systemd 中使用报价和美元符号

我在服务声明中使用它: ExecStartPre=/usr/bin/docker pull "$DOCKER_USERNAME/redis-replication:latest"

在systemd的日志中,当我尝试启动服务时可以看到:

Usage: docker pull [OPTIONS] NAME[:TAG]
Pull an image or a repository from the registry
-a, --all-tags=false    Download all tagged images in the repository
Run Code Online (Sandbox Code Playgroud)

看起来 systemd 没有执行正确的命令,而是执行了一些奇怪的命令。它可能是什么以及如何纠正它?

编辑:这是我的整个单元文件

[Unit]
Description=Run redis replication
After=docker.service
Requires=docker.service

[Service]
Restart=always
RestartSec=10s
EnvironmentFile=/etc/vax/credentials
EnvironmentFile=/etc/vax/centos-ip
EnvironmentFile=/etc/vax/docker-auth
EnvironmentFile=/etc/vax/cluster-prefix
ExecStartPre=-/usr/bin/docker kill redisrep
ExecStartPre=-/usr/bin/docker rm redisrep
ExecStartPre=/usr/bin/docker pull "$DOCKER_USERNAME/redis-replication:latest"
ExecStart=/usr/bin/docker run --rm --name redisrep    -v /var/data/myproject/redis:/data    -e S3_ACCESS_KEY=$S3_ACCESS_KEY    -e S3_SECRET_KEY=$S3_SECRET_KEY    -e S3_BUCKET=$S3_BUCKET    -e BACKUP_PREFIX=$BACKUP_PREFIX    -e REPLICATE_FROM_IP=$CENTOS_IP    -e REPLICATE_FROM_PORT=6379    $DOCKER_USERNAME/redis-replication:latest
ExecStop=/usr/bin/docker kill redisrep

[X-Fleet]
MachineMetadata="machineIndex=1"
Run Code Online (Sandbox Code Playgroud)

systemd

7
推荐指数
2
解决办法
1万
查看次数

标签 统计

systemd ×1