如何在Docker容器中运行GUI应用程序?
是否有任何图像设置vncserver或某些东西,以便你可以 - 例如 - 在Firefox周围添加一个额外的speedbump沙箱?
我是码头工人的新手.我只是尝试在我的本地机器(Ubuntu 16.04)中使用docker和Jenkins.
我使用下面的管道脚本配置了一个新作业.
node {
stage('Build') {
docker.image('maven:3.3.3').inside {
sh 'mvn --version'
}
}
}
Run Code Online (Sandbox Code Playgroud)
但它失败并出现以下错误.
当我尝试运行简单的docker命令时:
$ docker ps -a
Run Code Online (Sandbox Code Playgroud)
我收到一条错误消息:
得到权限否认... /var/run/docker.sock:connect:权限被拒绝
当我检查权限时
$ ls -al /var/run/
Run Code Online (Sandbox Code Playgroud)
我看到这一行:
srw-rw---- root docker docker.sock
Run Code Online (Sandbox Code Playgroud)
所以,我遵循许多论坛的建议,并将本地用户添加到docker组:
$ sudo usermod -aG docker $USER
Run Code Online (Sandbox Code Playgroud)
但它没有帮助.我仍然得到相同的错误消息.我该如何解决?
我无法在我的Docker容器中运行任何yum命令而不会收到以下错误:
ovl: Error while doing RPMdb copy-up:
[Errno 13] Permission denied: '/var/lib/rpm/Group'
You need to be root to perform this command.
Run Code Online (Sandbox Code Playgroud)
我很困惑,因为我非常确定docker容器是使用默认用户root运行的.不过,如果我尝试把须藤在前面yum install -y <package>或yum update -y命令我得到:
/bin/sh: sudo: command not found
Run Code Online (Sandbox Code Playgroud)
我正在使用以下基本映像,因此我可以在Docker中轻松运行Java Wildfly应用程序:https://hub.docker.com/r/jboss/wildfly/
底层发行版是 CentOS Linux release 7.2.1511 (Core)
我尝试设置Docker,以便sudo在使用之前不必输入.
我采取的步骤:
sudo groupadd docker;sudo gpasswd -a ${USER} docker;sudo service docker restart;运行后docker run hello-world,我收到此输出:
FATA [0000]发布http:///var/run/docker.sock/v1.17/containers/create:拨打unix /var/run/docker.sock:权限被拒绝.您是否尝试在没有TLS的情况下连接到启用TLS的守护程序?
有一件事令人困惑(并且可能会暗示为什么我不能在没有sudo的情况下运行docker)是输出:
$ groups:是:
ltarasiewicz adm cdrom sudo dip plugdev lpadmin sambashare
(没有"码头工人"组)
输出$ groups ltarasiewicz:
ltarasiewicz adm cdrom sudo dip plugdev lpadmin sambashare docker
("docker"是其中一个组)
sudo在将当前用户添加到"docker"组后,我仍然无法使用Docker这一事实可能是什么原因?
我在运行 docker-compose 时得到了这个
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/build?buildargs=%7B%7D&cachefrom=%5B%5D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&labels=%7B%7D&memory=0&memswap=0&networkmode=default&rm=1&shmsize=0&t=iramiro-api.jar&target=&ulimits=null&version=1": dial unix /var/run/docker.sock: connect: permission denied
Running docker compose
[6099] Failed to execute script docker-compose
Traceback (most recent call last):
File "urllib3/connectionpool.py", line 677, in urlopen
File "urllib3/connectionpool.py", line 392, in _make_request
File "http/client.py", line 1252, in request
File "http/client.py", line 1298, in _send_request
File "http/client.py", line 1247, in endheaders
File "http/client.py", line 1026, in _send_output
File "http/client.py", line 966, in …Run Code Online (Sandbox Code Playgroud) 在 Ubuntu 22.04 系统上,每当我运行任何docker命令时,它都会打印出错误:
Cannot connect to the Docker daemon at unix:///home/<username>/.docker/desktop/docker.sock. Is the docker daemon running?
Run Code Online (Sandbox Code Playgroud)
但是,如果我检查systemctl status docker,它表明 Docker 守护进程正在运行。
运行sudo docker ...有效,但我不希望在每个 Docker 命令前面加上sudo. 我已经尝试了如何修复 docker:权限被拒绝问题中的许多方法,包括将我的用户添加到docker组中并放宽权限/var/run/docker.sock,但我仍然收到此错误。
可能是什么原因造成的?
我想为Amazon ECR创建docker镜像。但yum在我的Amazon Linux2中找不到它。
[root@*** ~]# yum install -y docker
Loaded plugins: amazon-id, rhui-lb, search-disabled-repos
No package docker available.
Error: Nothing to do
Run Code Online (Sandbox Code Playgroud)
接下来,我尝试使用amazon-linux-extras。
但是也没有找到amazon-linux-extras。
[root@*** ~]# amazon-linux-extras install docker -y
-bash: amazon-linux-extras: command not found
[root@*** ~]# find / -name 'amazon-linux-extras'
[root@*** ~]$ cat /proc/version
Linux version 4.14.77-81.59.amzn2.x86_64 (mockbuild@ip-10-0-1-59) (gcc version 7.3.1 20180303 (Red Hat 7.3.1-5) (GCC)) #1 SMP Mon Nov 12 21:32:48 UTC 2018
Run Code Online (Sandbox Code Playgroud)
如何安装amazon-linux-extras或创建docker映像?
amazon-ec2 amazon-web-services docker amazon-ecr amazon-linux
我在 Ubuntu Linux 20.04LTS 中安装了 docker 引擎和 docker compose。
ubuntu@ip-10-0-2-13:~/myapp/src$ docker-compose -v
docker-compose version 1.27.4, build 40524192
Run Code Online (Sandbox Code Playgroud)
我还运行了 beloe 命令来使 docker-compose 可执行
ubuntu@ip-10-0-2-13:~/myapp/src$ sudo chmod +x /usr/local/bin/docker-compose
Run Code Online (Sandbox Code Playgroud)
但是当我执行 docker-compose 命令时,仍然出现权限被拒绝的错误。
ubuntu@ip-10-0-2-13:~/myapp/src$ docker-compose down
WARNING: The VERSION_TAG variable is not set. Defaulting to a blank string.
Traceback (most recent call last):
File "urllib3/connectionpool.py", line 677, in urlopen
File "urllib3/connectionpool.py", line 392, in _make_request
File "http/client.py", line 1252, in request
File "http/client.py", line 1298, in _send_request
File "http/client.py", line 1247, in endheaders …Run Code Online (Sandbox Code Playgroud) 我是 docker 的完全初学者,我正在尝试通过 docker ( https://github.com/RWTH-i5-IDSG/steve )安装一个名为 steve 的网络服务器应用程序。我正确地遵循了说明,但是当我使用命令“ *docker-compose up -d*”时,出现以下错误:
错误:.IOError:[Errno 13] 权限被拒绝:“./docker-compose.yml”
我正在运行最新版本的 ubuntu 18.04,到目前为止,我已经尝试了以下操作:-使用“ sudo docker-compose up -d”(相同错误)-使用“ sudo docker build”(正确构建但我仍然无法启动它)-更改 dockerfile 和 docker 的权限-compose.yml 到 777 - 将文件所有者更改为 root
这些文件与源代码完全相同。我只找到了一些有此错误的用户,他们发布了答案,但他们都没有工作,所以我提出了自己的问题。我为我糟糕的英语道歉。
例如,当我尝试运行任何 docker 命令时,docker ps我收到此错误:
尝试连接到位于 unix:///var/run/docker.sock 的 Docker 守护程序套接字时权限被拒绝:获取 http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/json:拨打 unix /var/run/docker.sock:连接:权限被拒绝
所以我设法使用 sudo 运行它:
sudo docker ps
Run Code Online (Sandbox Code Playgroud)
但我希望能够在没有 sudo 的情况下运行它。
docker ×10
jenkins ×2
linux ×2
ubuntu ×2
amazon-ec2 ×1
amazon-ecr ×1
amazon-linux ×1
centos ×1
containers ×1
sandbox ×1
sudo ×1
vnc ×1
x11 ×1
yum ×1