我对docker很陌生,我对标记(--tag)图像和为其指定名称(--name)之间的区别感到有些困惑.例如,我可以看到,如果我从Docker文件构建自定义图像,我可以使用名称标记它:
sudo docker build --tag=tomcat-admin .
sudo docker run -it tomcat-admin
Run Code Online (Sandbox Code Playgroud)
将名称传递给docker inspect会产生一个结果:
docker inspect tomcat-admin
Run Code Online (Sandbox Code Playgroud)
但是它不包含"命名"图像的相同属性:
docker inspect --format '{{ .NetworkSettings.IPAddress }}' tomcat-admin
Template parsing error: template: :1:19: executing "" at <.NetworkSettings.IPA...>: map has no entry for key "NetworkSettings
Run Code Online (Sandbox Code Playgroud)
"
有人对此有所了解吗?谢谢!
我正在尝试在Ansible上执行我的第一个远程shell脚本.我首先生成并复制了SSH密钥.这是我的yml文件:
---
- name: Ansible remote shell
hosts: 192.168.10.1
user: myuser1
become: true
become_user: jboss
tasks:
- name: Hello server
shell: /home/jboss/script.sh
Run Code Online (Sandbox Code Playgroud)
然而,当启动剧本时,结果是"没有主机匹配":
ansible-playbook setup.yml
PLAY [Ansible remote shell
********************************************
skipping: no hosts matched
PLAY RECAP ********************************************************************
Run Code Online (Sandbox Code Playgroud)
我也试过使用主机名(而不是IP地址),但没有改变.有帮助吗?
我需要一起使用两个容器:一个使用Tomcat,另一个使用数据库.我创建了以下描述服务的yaml文件:
postgredb:
image: postgres
expose:
- 5432
ports:
- 5432:5432
environment:
- POSTGRES_USER=user
- POSTGRES_PASSWORD=password
tomcat:
image: tomcat
links:
- postgredb:db
ports:
- 8080:8080
Run Code Online (Sandbox Code Playgroud)
一旦启动docker-compose,我就可以看到我无法从Tomcat访问数据库,除非我检索数据库的IP地址(通过docker inspect)并在将Tomcat连接池配置到数据库时使用它.根据我的理解,应该链接两个容器,我希望在端口5432上的localhost上找到数据库.否则我看到链接容器的好处很少.我的理解是否正确?任何指导将不胜感激!
以下REST查询将返回上次成功构建作业的参数:
https:// localhost/job/test1/lastSuccessfulBuild/api/json
我有兴趣检索此构建的一个参数,即BUILD_VERSION:
{
"_class": "org.jenkinsci.plugins.workflow.job.WorkflowRun",
"actions": [
{
"_class": "hudson.model.CauseAction",
"causes": [
{
"_class": "hudson.model.Cause$UpstreamCause",
"shortDescription": "Started by upstream project \"continuous-testing-pipeline-for-nightly\" build number 114",
"upstreamBuild": 114,
"upstreamProject": "continuous-testing-pipeline-for-nightly",
"upstreamUrl": "job/continuous-testing-pipeline-for-nightly/"
}
]
},
{ },
{
"_class": "hudson.model.ParametersAction",
"parameters": [
{
"_class": "hudson.model.StringParameterValue",
"name": "BUILD_VERSION",
"value": "1.1.15"
Run Code Online (Sandbox Code Playgroud)
有没有办法直接使用REST Api检索BUILD_VERSION(1.1.15)或者我是否必须手动解析json字符串?谢谢
我正在使用"oc cluster up"来启动我的Openshift Origin环境.但是,我可以看到,一旦我关闭了集群,我的项目在重启时就不会持久存在.有没有办法使它们持久?谢谢
我只是在学习 Python 和 Pytest,并遇到了 Fixtures。请原谅这个基本问题,但我有点想知道在 Python 中使用夹具有什么好处,因为您已经可以将方法作为参数传递,例如:
def method1():
return 'hello world'
def method2(methodToRun):
result = methodToRun()
return result
method2(method1)
Run Code Online (Sandbox Code Playgroud)
将@pytest.fixture对象作为参数传递有什么好处?
我想将 Maven 上可用的一些 API 的所有最新版本保留在一个网页中。
例如: https: //mvnrepository.com/artifact/org.jbpm/jbpm-kie-services
我想在页面中显示:Kie Services: 最新版本 7.63.0.Final
我可以解析 HTML 内容并找到最新版本。另一方面,我想知道是否存在更简单的解决方案。使用一些查询参数是否可以捕获此信息?多谢
我正在尝试在 Openshift Origin Pod 上部署一个在我的 Docker 存储库中可用的映像:
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat9demo latest 535da1774da0 9 weeks ago 350.2 MB
Run Code Online (Sandbox Code Playgroud)
运行时:
$ oc new-app tomcat9demo --name tomcatdemo
Run Code Online (Sandbox Code Playgroud)
显然它似乎从 Docker 存储库中找到了图像:
--> Found Docker image 535da17 (9 weeks old) from for "tomcat9demo:latest"
* This image will be deployed in deployment config "tomcat9demo"
* Port 8080/tcp will be load balanced by service "tomcat9demo"
* Other containers can access this service through the hostname "tomcat9demo"
* WARNING: Image "tomcat9demo:latest" …Run Code Online (Sandbox Code Playgroud)
我需要使用com.fasterxml.jackson.core库对JEE应用程序进行测试,以确定已在内存中加载了哪个版本的jackson API。我看了看它的API,但是到目前为止我还找不到任何静态class.method返回com / fasterxml / jackson / core / Version.java的实例
。谢谢
我正在尝试针对在容器中运行的 MySQL 数据库为 Spring Boot 应用程序执行一些数据库初始化。在身份验证过程中,我收到错误“找不到表”。我检查了数据库,确实没有创建任何表。数据库属性中是否缺少某些内容?
spring.datasource.url = jdbc:mysql://172.17.0.2:3306/schema
spring.datasource.username = user
spring.datasource.password = password
spring.datasource.testWhileIdle = true
spring.datasource.validationQuery = SELECT 1
spring.jpa.show-sql = true
spring.jpa.hibernate.ddl-auto = create-drop
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
spring.data.rest.basePath=/
spring.datasource.data = classpath:/data.sql
spring.datasource.schema = classpath:/schema.sql
Run Code Online (Sandbox Code Playgroud)
总而言之,只要我从 mysql 命令行创建 DDL,JDBC 设置就可以正常工作。所以它只是在启动时不执行 data.sql 和 schema.sql 。我需要 mysql 的一些额外属性吗?