默认情况下,如果我发出命令:
sudo docker pull ruby:2.2.1
Run Code Online (Sandbox Code Playgroud)
默认情况下,它会从docker.io官方网站上撤下.
Pulling repository docker.io/library/ruby
Run Code Online (Sandbox Code Playgroud)
如何将其更改为我的私人注册表.这意味着如果我发出
sudo docker pull ruby:2.2.1
Run Code Online (Sandbox Code Playgroud)
它将从我自己的私人注册表中提取,输出类似于:
Pulling repository my_private.registry:port/library/ruby
Run Code Online (Sandbox Code Playgroud) 有没有可以将命令docker stop
和docker rm
命令组合在一起的命令?每次我想删除一个正在运行的容器时,我需要按顺序执行2个命令,不知是否有一个组合命令可以简化这个过程.
docker stop CONTAINER_ID
docker rm CONTATINER_ID
Run Code Online (Sandbox Code Playgroud) 我使用的是OS X 10.10.在尝试与我们团队的私有docker注册表进行通信时,它会一直给我这样的错误:
Error: Invalid registry endpoint https://registry.xxx.xxx/v1/: Get
https://registry.af-sys.com/v1/_ping: dial tcp xx.xxx.xxx.xxx:xxx: i/o timeout.
If this private registry supports only HTTP or HTTPS with an unknown CA
certificate, please add --insecure-registry...
Run Code Online (Sandbox Code Playgroud)
在Ubuntu系统上,可以通过添加DOCKER_OPTS
到/etc/default/docker
配置文件中来解决此错误,如下所示:
DOCKER_OPTS="$DOCKER_OPTS --insecure-registry myregistry:5000"
Run Code Online (Sandbox Code Playgroud)
Mac OS是否有类似的配置文件,我可以在其中添加DOCKER_OPTS
选项?
Jenkins正在localhost上运行.我在GitHub中有我的存储库.我可以选择"在将更改推送到GitHub时进行构建".
当我点击"立即构建"时,构建成功完成,没有问题.但是当我将代码提交到我的存储库时,不会发生自动构建.我可以从我的系统访问GitHub,因为存储库是公共的,我相信甚至Jenkins也应该能够检测到它.我知道有一个轮询选项,但我希望Jenkins在存储库中检测到更改时进行构建(因为这是我们一直在努力实现的).
组态:
詹金斯1.615
Git插件2.3.5
Git客户端插件1.17.1
--------------------------------------------
编辑:" 在将更改推送到GitHub时构建 "选项已在最新版本的GitHub插件中重命名为" GITScm轮询的GitHub挂钩触发器 ".(感谢@ smrubin的反馈.)
最近从 Docker Desktop 切换到 Podman,一切都很顺利,除了当我想将主机卷挂载到容器中时。例如
\n\xe2\x9e\x9c ~ podman run --name nginx -v ~/bin/nginx/nginx.conf:/etc/nginx/nginx.conf:ro -d -p 8080:80 nginx\nError: statfs /Users/rb/bin/nginx/nginx.conf: no such file or directory\n\n\xe2\x9e\x9c ~ ls -lt ~/bin/nginx/nginx.conf \n-rw-r--r-- 1 rb staff 490 Apr 23 14:31 /Users/rb/bin/nginx/nginx.conf\n
Run Code Online (Sandbox Code Playgroud)\n主机文件~/bin/nginx/nginx.conf
确实存在,那么这里有什么问题呢?
我正在使用Ubuntu 14.04
,我按照官方docker-compose安装手册的确切步骤进行操作.
sudo su
curl -L https://github.com/docker/compose/releases/download/VERSION_NUM/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
Run Code Online (Sandbox Code Playgroud)
但不幸的是,执行docker-compose
给了我一个command not found
错误.
shibin@87:~$ docker-compose
/usr/local/bin/docker-compose: line 1: {error:Not Found}: command not found
Run Code Online (Sandbox Code Playgroud)
我尝试打开/usr/local/bin/docker-compose
文件,它确实显示:
{error:Not Found}: command not found
Run Code Online (Sandbox Code Playgroud)
因此我想docker-compose未正确安装,任何人都遇到了同样的问题?
我从这里拉出官方Jenkins码头图片.从Jenkins UI我创建一个新工作,安装github插件并在作业配置中设置repo urls.
最后,我保存了Jenkins的更改.
我想创建一个新的图像.我停止容器,并将其提交到新图像.
然后我从新图像中启动一个新容器......并且Jenkins不包含任何我的更改.
我用 Docker version 1.6.2, build 7c8fca2
我在Jenkins中使用Maven 3.2.3,JUnit 4.12和SureFire 2.18.1.我有一个多模块Maven作业设置与以下Maven选项:
clean install -U -e -P qa -Dci -DskipITs
Run Code Online (Sandbox Code Playgroud)
但是,当我运行我的Maven构建时,虽然我的一个JUnit测试失败,但Maven模块本身报告"SUCCESS"(后面的输出)......
Executing Maven: -B -f /var/lib/jenkins/workspace/subco/subco/pom.xml clean install -U -e -P qa -Dci -DskipITs
…
———————————————————————————
T E S T S
-------------------------------------------------------
Running org.mainco.subco.user.domain.UserTest
Tests run: 24, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.049 sec <<< FAILURE! - in org.mainco.subco.user.domain.UserTest
testHasRoleNullRoles(org.mainco.subco.user.domain.UserTest) Time elapsed: 0.006 sec <<< FAILURE!
java.lang.AssertionError: Failed to indicate we found right role for user.
at org.junit.Assert.fail(Assert.java:88)
at org.junit.Assert.assertTrue(Assert.java:41)
at
…
[INFO] Tests are …
Run Code Online (Sandbox Code Playgroud) 众所周知,我们可以--insecure-registry
在/etc/default/docker
配置文件中添加一个以允许不安全的注册表,如下所示:
DOCKER_OPTS="$DOCKER_OPTS --insecure-registry myregistry:5000"
Run Code Online (Sandbox Code Playgroud)
我的问题是:它是否支持添加多个,--insecure-registry
因为我们需要与多个注册管理机构进行通信?
我的远程 docker 注册表中有一个图像:
xx.xx.xx.xx:5000/library/ruby:2.2.1
Run Code Online (Sandbox Code Playgroud)
有没有快速的方法或现有的命令来重命名它?
我知道我可以通过执行实现这个docker pull
它的本地和将其重命名docker tag
,然后docker push
再。
docker pull xx.xx.xx.xx:5000/library/ruby:2.2.1
docker tag xx.xx.xx.xx:5000/library/ruby:2.2.1 xx.xx.xx:5000/library/new_name:latest
docker push xx.xx.xx.xx:5000/library/new_name:latest
Run Code Online (Sandbox Code Playgroud)
但是由于拉取和推送图像需要时间,我想知道是否有一种快速重命名的方法?