我正在尝试AWS ECR并将新标签推送到我们的私人存储库.
它是这样的:
export DOCKER_REGISTRY=0123123123123.dkr.ecr.us-east-1.amazonaws.com
export TAG=0.1
docker build -t vendor/app-name .
`aws ecr get-login --region us-east-1`" # generates docker login
docker tag vendor/app-name $DOCKER_REGISTRY/vendor/app-name:$TAG
docker push $DOCKER_REGISTRY/vendor/app-name:$TAG
Run Code Online (Sandbox Code Playgroud)
登录工作,标签被创建,我看到它docker images
,但推送失败失败.
The push refers to a repository [0123123123123.dkr.ecr.us-east-1.amazonaws.com/vendor/app-name] (len: 2)
b1a1d76b9e52: Pushing [==================================================>] 32 B/32 B
Error parsing HTTP response: unexpected end of JSON input: ""
Run Code Online (Sandbox Code Playgroud)
这很可能是一个配置错误,但我无法弄清楚如何从中获得更多的输出.该命令没有调试级别选项,没有其他日志,我无法拦截网络流量,因为它似乎是加密的.
我在Windows 8.1上安装了Docker Toolbox,我正在创建一个基于ubuntu:latest(应该是16.04)的图像.我想确保我的应用程序确实在16.04上运行.这是我的Dockerfile:
FROM ubuntu:latest
MAINTAINER xyz xyz@abc.com
COPY apt.conf /etc/apt/
RUN apt-get -y update
RUN apt-get -y install cmake
RUN mkdir /usr/local/
COPY folder /usr/local/
RUN mkdir /usr/local/build
CMD cd /usr/local/build
CMD cmake /usr/local/
Run Code Online (Sandbox Code Playgroud)
构建映像后,我尝试运行:
docker run image uname -r
Run Code Online (Sandbox Code Playgroud)
但它总是回归 4.4.12 boot2docker
现在我知道boot2docker是轻量级的Linux VM,顶部的容器在windows上旋转,但是不应该运行图像给我运行的ubuntu版本?我怎么验证这个?
我刚刚在OSX上安装了Docker Toolbox,第一次启动Docker Quickstart终端时,它促使我选择打开哪个终端.我愚蠢地选择了iTerm.现在,这些天实现了我常用的终端是终端,我想改变那个设置.但我没做什么似乎重置它.
我已经尝试再次运行Docker Toolbox的安装程序.我也尝试从https://github.com/docker/toolbox/blob/master/osx/uninstall.sh运行卸载脚本,然后重新安装.但是每次我点击Docker Quickstart终端,它都会在iTerm中启动.
谁能告诉我如何改变这种偏好?
我刚刚在Windows 10上使用docker-toolbox 1.8.2安装了docker .
由于这个问题,我不得不使用这些命令重新创建docker镜像
docker-machine rm default
docker-machine --native-ssh create -d virtualbox default
Run Code Online (Sandbox Code Playgroud)
之后它一直很好,除了一个问题:
当PC进入休眠状态然后再次唤醒时,docker命令无法再连接.例:
> docker images
An error occurred trying to connect: Get https://192.168.99.100:2376/v1.20/images/json:
dial tcp 192.168.99.100:2376: ConnectEx tcp: A connection attempt failed because the
connected party did not properly respond after a period of time, or established connection
failed because connected host has failed to respond.
Run Code Online (Sandbox Code Playgroud)
但是,docker-machine
将机器列为正在运行:
> docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM
default * virtualbox Running …
Run Code Online (Sandbox Code Playgroud) 我在Windows 7上使用VirtualBox 5.0.6安装了Docker工具箱1.8.3.
在Docker Quickstart Terminal启动期间创建的默认虚拟机有一个已定义的共享文件夹.是否可以将其他共享文件夹持久添加到此虚拟机,例如在主机上安装驱动器?c:\Users
d:\
我已经多次尝试通过Docker Quickstart Terminal启动Docker VM.default
在VirtualBox中删除虚拟机后,我收到以下输出
Creating Machine default...
Running pre-create checks...
Creating machine...
(default) OUT | Creating VirtualBox VM...
(default) OUT | Creating SSH key...
(default) OUT | Starting VirtualBox VM...
Error creating machine: Error in driver during machine creation: exit status 1
Looks like something went wrong... Press any key to continue...
Run Code Online (Sandbox Code Playgroud)
为了进一步排除故障,我尝试default
使用Start> Headless Start直接在VirtualBox GUI中启动计算机,如其他Docker问题所示.启动失败,我收到一个错误对话框,其中包含以下内容:
Failed to open/create the internal network 'HostInterfaceNetworking-VirtualBox Host-Only Ethernet Adapter' (VERR_INTNET_FLT_IF_NOT_FOUND).
Failed to attach the network LUN (VERR_INTNET_FLT_IF_NOT_FOUND).
Result Code: …
Run Code Online (Sandbox Code Playgroud) 我已经用这个教程创建了我的第一个docker webapi项目.
我正在使用Windows 7(docker toolbox).
这就是我跑的:
dotnet new webapi
Run Code Online (Sandbox Code Playgroud)
这是Dockerfile:
FROM microsoft/dotnet:latest
COPY . /app
WORKDIR /app
RUN ["dotnet", "restore"]
RUN ["dotnet", "build"]
EXPOSE 5000/tcp
ENV ASPNETCORE_URLS http://*:5000
ENTRYPOINT ["dotnet", "run"]
Run Code Online (Sandbox Code Playgroud)
这就是我创建图像的方式:
docker build -t mydemos:aspnetcorehelloworld .
Run Code Online (Sandbox Code Playgroud)
这就是我创建和运行容器的方式:
docker run -d -p 8080:5000 -t mydemos:aspnetcorehelloworld
Run Code Online (Sandbox Code Playgroud)
我的服务成功运行为docker容器.
然后,我尝试更改Dockerfile以处理aspnetcore基本映像:
FROM microsoft/dotnet:latest
被改为 FROM microsoft/aspnetcore:1.0.1
新的Dockerfile看起来像:
FROM microsoft/aspnetcore:1.0.1
COPY . /app
WORKDIR /app
RUN ["dotnet", "restore"]
RUN ["dotnet", "build"]
EXPOSE 5000/tcp
ENV ASPNETCORE_URLS http://*:5000
ENTRYPOINT ["dotnet", "run"]
Run Code Online (Sandbox Code Playgroud)
现在,我尝试使用构建新图像
docker build -t …
Run Code Online (Sandbox Code Playgroud) 我最近在使用docker工具箱一段时间没有问题后遇到了这个问题.
Windows更新后开始发生?
Windows 10 Home - 64
卸载并重新安装Docker工具箱
卸载并重新安装各种版本的VirtualBox
仍然得到相同的错误
Running pre-create checks...
Creating machine...
(default) Copying C:\Users\me\.docker\machine\cache\boot2docker.iso to C:\Users\me\.docker\machine\machines\default\boot2docker.iso...
(default) Creating VirtualBox VM...
(default) Creating SSH key...
(default) Starting the VM...
(default) Check network to re-create if needed...
(default) Windows might ask for the permission to create a network adapter. Sometimes, such confirmation window is minimized in the taskbar.
(default) Creating a new host-only adapter produced an error: C:\Program Files\Oracle\VirtualBox\VBoxManage.exe hostonlyif create failed:
(default) 0%...
(default) Progress state: E_FAIL …
Run Code Online (Sandbox Code Playgroud) virtualbox virtual-machine docker docker-machine docker-toolbox
我正在关注https://docs.docker.com/get-started/part2/#publish-the-image上的指南
在整个指南中,我有时遇到这个错误,有时当我重新运行命令时它们会工作.
docker push %username%/%repository%:%tag%
Run Code Online (Sandbox Code Playgroud)
我会得到回应 Using default tag: latest
Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
我正在使用带有Docker Toolbox的Windows Home.
如果需要任何其他信息,请告诉我.
docker ×10
docker-toolbox ×10
windows ×3
boot2docker ×2
virtualbox ×2
.net ×1
amazon-ecs ×1
asp.net-core ×1
iterm ×1
macos ×1
terminal ×1
ubuntu ×1
uname ×1
windows-10 ×1