小编NoM*_*Mad的帖子

Docker登录:手动登录专用注册表时出错

我无法从CLI手动登录我的私有GitLab Docker注册表:

# docker login -u "${DOCKER_USER}" -p "${DOCKER_PASS}" "${DOCKER_URL}"
error getting credentials - err: exit status 1, out: `Cannot autolaunch D-Bus without X11 $DISPLAY`
Run Code Online (Sandbox Code Playgroud)

系统信息:

  • Ubuntu 18.04
  • docker-ce 18.03.1〜ce〜3-0〜ubuntu(来自官方仓库,没有安装脚本)

没有~/.docker/config.json任何用户,我docker login以root 用户身份执行。在Google上,我只是找到以下建议export DISPLAY:码头工人只能在GUI环境中登录到远程注册表吗?导出DISPLAY = 0:0会产生:

error getting credentials - err: exit status 1, out: `Failed to execute child process “dbus-launch” (No such file or directory)`
Run Code Online (Sandbox Code Playgroud)

我缺少一些依赖吗?否则,Docker可以正常运行,但是登录不起作用。我知道有用于存储凭据的后端,但是我不想存储凭据。我只是想对我的注册表进行身份验证以提取图像,这在Docker ootb中不起作用吗?

debian docker docker-registry docker-compose ubuntu-18.04

6
推荐指数
1
解决办法
1543
查看次数

Docker-无法启动容器:ID已在使用中(重启后)

我正在restart=alwaysUbuntu 18.04.1 LTS上运行多个docker 容器。物理服务器每天早上2点通过cronjob执行重启reboot now

到目前为止,在过去的5到6个月中,运行该特定设置对我没有任何问题。

但是今天,容器在每天重启后仍未启动。的输出docker ps为空,所有容器均处于“已退出”状态。

为什么这突然发生?是我的设置从一开始就配置错误,还是最近的docker-ce软件包升级起作用?

以下是重新启动前后的日志以及docker.service设备和版本信息:

root@skprov2:~# journalctl -b -1 -x -u docker
Nov 15 02:00:02 skprov2 systemd[1]: Stopping Docker Application Container Engine...
-- Subject: Unit docker.service has begun shutting down
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- Unit docker.service has begun shutting down.
Nov 15 02:00:02 skprov2 dockerd[1504]: time="2018-11-15T02:00:02.189764841+01:00" level=info msg="Processing signal 'terminated'"
Nov 15 02:00:02 skprov2 dockerd[1504]: time="2018-11-15T02:00:02.595098434+01:00" level=info msg="shim reaped" id=c929d444a6eb59a69a0da738ca782a9feb92ac1f80e5c4576bf85376c3d4c17a
Nov …
Run Code Online (Sandbox Code Playgroud)

docker

5
推荐指数
1
解决办法
1112
查看次数

git - 检查分支和子模块

我可以使用哪些函数将所有子模块(本地 repo)同步/初始化/更新到远程分支中的版本?

“同步”(我们称之为,我不是说 git sync!)也必须在以下情况下工作:

  • 一个子模块只被添加到远程分支
  • 子模块中的文件已在本地添加/删除/修改。跟踪或未跟踪。
  • 删除子模块(可选)

本质上,我希望本地 repo 始终与远程分支的版本完全相同。每当我更改子模块中的某些内容时,都无需过多摆弄。所以没有手动ssh'ing到服务器来初始化一个新的子模块,只为了部署脚本工作......

这可以在不克隆(又名传输)整个存储库的情况下实现吗?我选择 git 是为了有一种安全、快速的方式来部署我的源代码。但我能想到的唯一选择是git clone --recursive在它们各自的标签下做一个完整的和检查子模块。在这种情况下,rsync 可能会在同步文件方面做得更好。

git deployment webhooks git-submodules gitlab

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

Docker + GitLab CI - 成功测试后将图像标记为“最新”

我正在尝试在 GitLab-CI 中的我的私有注册表上标记自动构建的 Docker 映像,但“发布”作业失败并显示: Error response from daemon: No such image: dev.skibapro.de:5050/dransfeld/dockerci-test:v0.4

这是我的.gitlab-ci.yml,构建和测试作业运行没有错误,并且在管道运行后我的注册表中出现了 docerci-test:v0.4。

image: docker:stable
variables:
  DOCKER_DRIVER: overlay2
  IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME

services:
  - docker:dind

stages:
  - build
  - test
  - release

before_script:
  - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY

build:
  only:
    - tags
  stage: build
  script:
  - docker build -t $IMAGE_TAG -f docker/Dockerfile .
  - docker push $IMAGE_TAG

test:
  only:
    - tags
  stage: test
  script:
  - docker run $IMAGE_TAG /usr/local/bin/test.sh

release:
  only:
    - tags
  stage: release …
Run Code Online (Sandbox Code Playgroud)

gitlab docker gitlab-ci

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