标签: docker-run

无法在本地找到 docker 镜像

我正在关注这篇文章- 参考代码在GitHub 上。我已经在本地克隆了存储库。

该项目内部有一个反应应用程序。我正在尝试按照同一篇文章的第 7 步在本地运行它:

docker run -p 8080:80 shakyshane/cra-docker
Run Code Online (Sandbox Code Playgroud)

这将返回:

Unable to find image 'shakyshane/cra-docker:latest' locally
docker: Error response from daemon: pull access denied for shakyshane/cra-docker, repository does not exist or may require 'docker login'.
See 'docker run --help'.
Run Code Online (Sandbox Code Playgroud)

我尝试再次登录docker,但看起来由于它属于@shakyShane,我无法访问它。

我也愚蠢地尝试npm start过,但它不是在节点上运行的简单反应应用程序 - 它在容器中并且容器不受控制npm

看起来像docker pull shakyshane/cra-docker:latest抛出这个:

Error response from daemon: pull access denied for shakyshane/cra-docker, repository does not exist or may …
Run Code Online (Sandbox Code Playgroud)

macos docker docker-run

53
推荐指数
5
解决办法
12万
查看次数

如何运行拉取的图像 - docker

我正在尝试运行一个拉取的图像,但没有任何成功。我使用 Image URI 从 AWS 中提取了一个图像。

当我运行时,docker images我可以看到我的拉取图像:

REPOSITORY                                           TAG             IMAGE ID            CREATED             SIZE
alpine                                               3.9             055936d39205        3 weeks ago         5.53MB
24325.dkr.ecr.us-east-1.amazonaws.com/lm/rd/tools    dab-1.1.0slim   f994713b61cb        3 weeks ago         110MB
ubuntu                                               16.04           a3551444fc85        5 weeks ago         119MB
anapsix/alpine-java                                  8               745575fbfe52        3 months ago        126MB
Run Code Online (Sandbox Code Playgroud)

我是 dockers 的新手,但根据我的理解,不需要构建它,只需运行它,但是当我尝试像这样运行它时:docker run 24325.dkr.ecr.us-east-1.amazonaws.com/lm/rd/tools我收到以下消息:

Unable to find image '24325.dkr.ecr.us-east-1.amazonaws.com/lm/rd/tools:latest' locally
docker: Error response from daemon: pull access denied for 24325.dkr.ecr.us-east-1.amazonaws.com/lm/rd/tools, repository does not exist or may require 'docker login'.
Run Code Online (Sandbox Code Playgroud)

所以我试着像这样构建它:docker build -t …

docker docker-pull docker-run

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

在 Docker 中设置 GOOGLE_APPLICATION_CREDENTIALS

我想使用我的key.json文件在我的 docker 容器中设置 GOOGLE_APPLICATION_CREDENTIALS,但我不想将此文件复制到我的容器中。

docker google-cloud-platform dockerfile docker-run

13
推荐指数
2
解决办法
6695
查看次数

docker-pr proc 已经在监听 80 端口了吗?在 Ubuntu 上使用 snappy 安装 docker

我跑了这个:

docker run -ti -p 80:80 --name esproxy "$tag"
Run Code Online (Sandbox Code Playgroud)

但我收到此错误:

docker:来自守护程序的错误响应:驱动程序在端点 esproxy 上编程外部连接失败(ead1fa4f09b2326cd1ff6aa0e3b8f8bfa5c9d353eb6db4efef6d188b81ea9df7):启动用户态代理时出错:侦听 tcp 0.0.0.0:80:绑定:地址已在使用中。

所以我做了:

root@ip-172-xx-29-110:/interos/repos/nginx# lsof -i:80
Run Code Online (Sandbox Code Playgroud)

我得到了:

COMMAND     PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
docker-pr 28213 root    4u  IPv6  64253      0t0  TCP *:http (LISTEN)
Run Code Online (Sandbox Code Playgroud)

所以这个过程看起来像:

root     28213  0.0  0.0 116552  2620 ?        Sl   04:34   0:00 /snap/docker/384/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 80 -container-ip 172.17.0.2 -container-port 80
Run Code Online (Sandbox Code Playgroud)

有人知道那个过程是什么吗?

amazon-ec2 amazon-web-services docker docker-compose docker-run

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

将docker run转换为子组件

我有这个docker run命令:

docker run --rm --name=gitleaks \
   -v "/keys/ssh/values:/root/.ssh"  \
   zricethezav/gitleaks  \
   --ssh-key='bucket' \
   --repo "$line"
Run Code Online (Sandbox Code Playgroud)

我将其翻译为:

  docker create zricethezav/gitleaks --name=gitleaks
  docker cp /keys/ssh/values gitleaks:/root/.ssh
  docker start gitleaks  --ssh-key='bucket' --repo "$line"
Run Code Online (Sandbox Code Playgroud)

但这给了我这个错误:

Error: No such container:path: gitleaks:/root
unknown flag: --ssh-key
Run Code Online (Sandbox Code Playgroud)

有人知道我哪里出问题了吗?最终,我打电话给docker从正在运行的容器中运行,并且在共享文件时遇到麻烦,因此尝试docker cp上班。

docker docker-run gitleaks

9
推荐指数
2
解决办法
170
查看次数

将 ARG 传递给 ENTRYPOINT

假设我在 Dockerfile 中有这个:

ARG FOO=1
ENTRYPOINT ["docker.r2g", "run"]
Run Code Online (Sandbox Code Playgroud)

我用以下方法构建上述内容:

docker build -t "$tag" --build-arg FOO="$(date +%s)" .
Run Code Online (Sandbox Code Playgroud)

有没有办法做这样的事情:

ENTRYPOINT ["docker.r2g", "run", ARG FOO]  // something like this
Run Code Online (Sandbox Code Playgroud)

我想这个论点也可以通过 withdocker run而不是在docker build阶段期间传递?

docker dockerfile docker-build docker-entrypoint docker-run

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

启动容器进程导致“exec: > \”exec\”:在 $PATH 中找不到可执行文件”:未知

我有这个 Dockerfile:

FROM 939fj39f3932.dkr.ecr.us-west-2.amazonaws.com/teros_keys:8e31674

WORKDIR /zoom

COPY app.sh .

ENTRYPOINT ["exec", "/zoom/app.sh"]
CMD []
Run Code Online (Sandbox Code Playgroud)

我构建它并且它工作正常。然后我运行它:

docker run --rm -d \
    -e "db_prefix=$db_prefix" \
    --name "$n" "$full_name"
Run Code Online (Sandbox Code Playgroud)

我收到这个错误:

docker:来自守护进程的错误响应:OCI 运行时创建失败:container_linux.go:345:启动容器进程导致“exec:\”exec\”:在 $PATH 中找不到可执行文件:未知。

有谁知道这是怎么回事?

linux docker docker-run

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

在unix:///var/run/docker.sock中拒绝Docker守护程序套接字的权限

我有这个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 …
Run Code Online (Sandbox Code Playgroud)

bash docker gulp dockerfile docker-run

7
推荐指数
3
解决办法
7548
查看次数

macOS 和 Windows 上的 --network host 的 Docker 替代方案

我有两个 Docker 容器:

  • 数据库
  • 使用数据库的应用程序

我像这样运行我的数据库容器:

docker run --name my-db -p 127.0.0.1:3306:3306 my-db-image

我的应用程序容器是这样的:

docker run --name my-app --network host -it my-app-image

这在 Linux 上运行良好。我可以从主机系统和应用程序容器访问数据库。完美的。

--network host不适用于 Mac 和 Windows:

主机网络驱动程序仅适用于 Linux 主机,Docker for Mac、Docker for Windows 或 Docker EE for Windows Server 不支持。

(来源: https: //docs.docker.com/network/host/

我仍然可以从主主机访问数据库127.0.0.1:3306,但无法从应用程序容器访问它。

我该如何解决这个问题?如何让应用程序容器连接到数据库(并使用 继续从主主机访问数据库127.0.0.1:3306)?

我尝试过使用host.docker.internalandgateway.docker.internal但它不起作用。

我还尝试--network my-network在创建后my-network使用启动两个容器docker network create my-network,但它不起作用。

我不知道如何解决这个问题。

docker docker-container docker-network docker-run

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

写入正在运行的 docker 容器的标准输入

假设我将 docker 容器作为守护进程运行:

docker run -d foo
Run Code Online (Sandbox Code Playgroud)

有没有办法写入该容器的标准输入?就像是:

docker exec -i foo echo 'hi'
Run Code Online (Sandbox Code Playgroud)

上次我检查-i-d标志与docker run命令一起使用时是互斥的。

docker docker-exec docker-run

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