我有一个正在运行的容器,希望执行数据库备份。然而,从docker中输入类似sudo mkdir new_folder
这样的简单命令会导致bash: sudo: command not found
错误。
我尝试了以下方法(直觉上),通过docker exec -i -t 434a38fedd69/bin/bash
访问其中一个正在运行的容器,并运行:
apt-get update
apt-get install sudo
当退出返回到Docker并尝试执行sudo mkdir new_folder
时,我收到了相同的消息bash: sudo: command not found
Baresp@adhg MINGW64 /c/Program Files/Docker Toolbox/postgre
$ mkdir new_folder
mkdir: cannot create directory ‘new_folder’: Permission denied
Baresp@adhg MINGW64 /c/Program Files/Docker Toolbox/postgre
$ sudo mkdir new_folder
bash: sudo: command not found
顺便提一下,我不确定这是否相关,但我使用的Docker-compose文件是:
version: '2'
services:
postgres:
image: postgres
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: changeme
PGDATA: /data/postgres
volumes:
- /data/postgres:/data/postgres
ports:
- "5432:5432"
networks:
- postgres
restart: unless-stopped
container_name: xx_postgres
pgadmin:
links:
- postgres:postgres
image: fenglc/pgadmin4
volumes:
- /data/pgadmin:/root/.pgadmin
ports:
- "5050:5050"
networks:
- postgres
restart: unless-stopped
container_name: xx_pgadmin
networks:
postgres:
driver: bridge
MINGW64
字符串?而且目录/c/program files/
表示你正在使用Windows + MinGW: 你根本不会有任何权限问题,只需从命令中删除sudo
,然后再试一次即可。 - Geno Chen