我有这个Dockerfile
:
FROM chekote/gulp:latest
USER root
RUN apt-get update \
&& apt-get upgrade -y \
&& apt-get install -y sudo libltdl-dev
ARG dockerUser='my-user-name';
ARG group='docker';
# crate group if not exists
RUN if ! grep -q -E "^$group:" /etc/group; then groupadd $group; fi
# create user if not exists
RUN if ! grep -q -E "^$dockerUser:" /etc/passwd; then useradd -c 'Docker image creator' -m -s '/bin/bash' -g $group $dockerUser; fi
# add user to the group (if it was present and not created at the line above)
RUN usermod -a -G ${group} ${dockerUser}
# set default user that runs the container
USER ${dockerUser}
我是这样构建的:
docker build --tag my-gulp:latest .
最后通过script
这种方式运行:
#!/bin/bash
image="my-gulp:latest";
workDir='/home/gulp/project';
docker run -it --rm \
-v $(pwd):${workDir} \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/bin/docker:/usr/bin/docker \
${image} /bin/bash
通过这个命令我成功登录到 Docker 容器,但是当我想查看镜像时就遇到了问题。
docker images
或尝试拉取镜像
docker pull hello-world:latest
我遇到了这个错误:
试图连接到unix:///var/run/docker.sock的Docker守护程序套接字时,遇到了权限被拒绝的错误: 在http://%2Fvar%2Frun%2Fdocker.sock/v1.38/images/json上获取:拨号unix / var / run / docker.sock时:连接:权限被拒绝
如何从chekote/gulp:latest
创建docker镜像,以便我可以在其中使用docker而不会出现错误?
或者,错误是因为错误的docker运行命令导致的吗?