我正在关注这篇文章- 参考代码在GitHub 上。我已经在本地克隆了存储库。
该项目内部有一个反应应用程序。我正在尝试按照同一篇文章的第 7 步在本地运行它:
docker run -p 8080:80 shakyshane/cra-docker
这将返回:
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'.
我尝试再次登录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 …我正在尝试运行一个拉取的图像,但没有任何成功。我使用 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
我是 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'.
所以我试着像这样构建它:docker build -t …
我想使用我的key.json文件在我的 docker 容器中设置 GOOGLE_APPLICATION_CREDENTIALS,但我不想将此文件复制到我的容器中。
我跑了这个:
docker run -ti -p 80:80 --name esproxy "$tag"
但我收到此错误:
docker:来自守护程序的错误响应:驱动程序在端点 esproxy 上编程外部连接失败(ead1fa4f09b2326cd1ff6aa0e3b8f8bfa5c9d353eb6db4efef6d188b81ea9df7):启动用户态代理时出错:侦听 tcp 0.0.0.0:80:绑定:地址已在使用中。
所以我做了:
root@ip-172-xx-29-110:/interos/repos/nginx# lsof -i:80
我得到了:
COMMAND     PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
docker-pr 28213 root    4u  IPv6  64253      0t0  TCP *:http (LISTEN)
所以这个过程看起来像:
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
有人知道那个过程是什么吗?
amazon-ec2 amazon-web-services docker docker-compose docker-run
我有这个docker run命令:
docker run --rm --name=gitleaks \
   -v "/keys/ssh/values:/root/.ssh"  \
   zricethezav/gitleaks  \
   --ssh-key='bucket' \
   --repo "$line"
我将其翻译为:
  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
有人知道我哪里出问题了吗?最终,我打电话给docker从正在运行的容器中运行,并且在共享文件时遇到麻烦,因此尝试docker cp上班。
假设我在 Dockerfile 中有这个:
ARG FOO=1
ENTRYPOINT ["docker.r2g", "run"]
我用以下方法构建上述内容:
docker build -t "$tag" --build-arg FOO="$(date +%s)" .
有没有办法做这样的事情:
ENTRYPOINT ["docker.r2g", "run", ARG FOO]  // something like this
我想这个论点也可以通过 withdocker run而不是在docker build阶段期间传递?
我有这个 Dockerfile:
FROM 939fj39f3932.dkr.ecr.us-west-2.amazonaws.com/teros_keys:8e31674
WORKDIR /zoom
COPY app.sh .
ENTRYPOINT ["exec", "/zoom/app.sh"]
CMD []
我构建它并且它工作正常。然后我运行它:
docker run --rm -d \
    -e "db_prefix=$db_prefix" \
    --name "$n" "$full_name"
我收到这个错误:
docker:来自守护进程的错误响应:OCI 运行时创建失败:container_linux.go:345:启动容器进程导致“exec:\”exec\”:在 $PATH 中找不到可执行文件:未知。
有谁知道这是怎么回事?
我有这个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 …我有两个 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 run -d foo
有没有办法写入该容器的标准输入?就像是:
docker exec -i foo echo 'hi'
上次我检查-i和-d标志与docker run命令一起使用时是互斥的。
docker ×10
docker-run ×10
dockerfile ×3
amazon-ec2 ×1
bash ×1
docker-build ×1
docker-exec ×1
docker-pull ×1
gitleaks ×1
gulp ×1
linux ×1
macos ×1