我有这个Docker镜像 -
FROM centos:7
MAINTAINER Me <me.me>
RUN yum update -y
RUN yum install -y git https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
RUN yum install -y ansible
RUN git clone https://github.com/.../dockerAnsible.git
RUN ansible-playbook dockerFileBootstrap.yml
RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \
rm -f /lib/systemd/system/multi-user.target.wants/*;\
rm -f /etc/systemd/system/*.wants/*;\
rm -f /lib/systemd/system/local-fs.target.wants/*; \
rm -f /lib/systemd/system/sockets.target.wants/*udev*; \
rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
rm -f /lib/systemd/system/basic.target.wants/*;\
rm -f /lib/systemd/system/anaconda.target.wants/*;
VOLUME [ "/sys/fs/cgroup" ]
EXPOSE 80 443 3306 …Run Code Online (Sandbox Code Playgroud) 我有一个Ansible脚本,我试图获取目录中最新项目的文件名.我正在使用这个Ansible脚本:
- name: Finding newest file in a folder
find:
paths: "/var/www/html/wwwroot/somefolder/"
age: "latest"
age_stamp: mtime
Run Code Online (Sandbox Code Playgroud)
但是,我收到以下错误 -
FAILED! => {"age": "latest", "changed": false, "failed": true, "msg": "failed to process age"}
Run Code Online (Sandbox Code Playgroud)
如何让Ansible检索目录中最新文件的文件名?
我目前正在运行Openshift,但是当我尝试构建/部署我的自定义Docker容器时遇到了问题.容器在我的本地机器上正常工作,但是一旦它在openshift中构建并且我尝试部署它,我收到错误消息.我相信问题是因为我试图以root身份在容器内部运行命令.
(13)Permission denied: AH00058: Error retrieving pid file /run/httpd/httpd.pid
Run Code Online (Sandbox Code Playgroud)
我正在部署的我的Docker文件看起来像这样 -
FROM centos:7
MAINTAINER me<me@me>
RUN yum update -y
RUN yum install -y git https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
RUN yum install -y ansible && yum clean all -y
RUN git clone https://github.com/dockerFileBootstrap.git
RUN ansible-playbook "-e edit_url=andrewgarfield edit_alias=emmastone site_url=testing.com" dockerAnsible/dockerFileBootstrap.yml
RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \
rm -f /lib/systemd/system/multi-user.target.wants/*;\
rm -f /etc/systemd/system/*.wants/*;\
rm -f /lib/systemd/system/local-fs.target.wants/*; \
rm -f /lib/systemd/system/sockets.target.wants/*udev*; \
rm …Run Code Online (Sandbox Code Playgroud) 我正在构建一个Docker容器,并在此容器中下载Apache服务。是否可以在某个时候自动启动Apache服务?Systemctl start httpd在Dockerfile内部不起作用。
基本上,我希望在启动Docker容器时启动apache服务。
FROM centos:7
MAINTAINER me <me@me.com>
RUN yum update -y && yum install -y httpd php
RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \
rm -f /lib/systemd/system/multi-user.target.wants/*;\
rm -f /etc/systemd/system/*.wants/*;\
rm -f /lib/systemd/system/local-fs.target.wants/*; \
rm -f /lib/systemd/system/sockets.target.wants/*udev*; \
rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
rm -f /lib/systemd/system/basic.target.wants/*;\
rm -f /lib/systemd/system/anaconda.target.wants/*;
VOLUME [ "/sys/fs/cgroup" ]
EXPOSE 80
EXPOSE 443
CMD ["/usr/sbin/init"]
Run Code Online (Sandbox Code Playgroud) 我正在检查是否使用Selenium显示页面.但是,当我单击该页面时,会出现打印机打印提示(如选择打印机等的窗口).如何通过点击取消让Selenium关闭此窗口?
我试图寻找警报,但似乎那些不起作用,因为打印窗口是系统提示.它无法识别出现的任何警报.
我尝试使用的最新版本只是发送像tab这样的键并输入以便选择取消按钮,但是,它不能识别任何键被按下.
我该如何处理这个案子?
public static boolean printButton() throws Exception {
WebDriver driver = new FirefoxDriver();
driver.get("website");
try {
Thread.sleep(3000);
WebElement temp = driver.findElement(By.xpath("//*[@id='block-print-ui-print-links']/div/span/a"));
temp.click();
Actions action = new Actions(driver);
action.sendKeys(Keys.TAB).sendKeys(Keys.ENTER);
Thread.sleep(6000);
}
catch (Exception e) {
System.out.println("No button.");
driver.close();
return false;
}
Run Code Online (Sandbox Code Playgroud) 我有一个输出哈希值的python脚本。我希望将该哈希通过管道传递到ansible脚本中的变量中。
Python命令看起来像这样-
#!/bin/python
import crypt
test= crypt.crypt('test', '$6$Som3S@lt$')
print test
Run Code Online (Sandbox Code Playgroud)
我的ansible剧本看起来像这样-
hosts: webservers
remote_user: test
become: yes
become_method: sudo
vars:
pass:
tasks:
- name: Run Python Password script
command: /home/test/userPW.py > pass
Run Code Online (Sandbox Code Playgroud)
谢谢
我有一个dockerfile
FROM centos:7
MAINTAINER Kyle Day <kday@bstonetech.com>
RUN yum update -y
RUN yum install -y git https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
RUN yum install -y ansible
RUN git clone https://github.com/kday92/dockerAnsible.git
RUN ansible-playbook "-e edit_url=andrewgarfield edit_alias=emmastone site_url=testing.com" dockerAnsible/dockerFileBootstrap.yml
RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \
rm -f /lib/systemd/system/multi-user.target.wants/*;\
rm -f /etc/systemd/system/*.wants/*;\
rm -f /lib/systemd/system/local-fs.target.wants/*; \
rm -f /lib/systemd/system/sockets.target.wants/*udev*; \
rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
rm -f /lib/systemd/system/basic.target.wants/*;\
rm -f /lib/systemd/system/anaconda.target.wants/*;
VOLUME [ "/sys/fs/cgroup" ] …Run Code Online (Sandbox Code Playgroud) 我有以下代码 -
- name: Create a repo
uri:
url: http://mystash.com/stash/rest/api/1.0/projects/PROJECT/repos/
method: POST
body: '{"name":"{{ somevar }}_settings"}'
force_basic_auth: yes
status_code: 201
headers:
Content-Type: "application/json"
Authorization: "Basic bm90bXlwYXNzd29yZA==="
Accept: "application/json"
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是当我尝试运行它时,我收到此错误 -
An unknown error occurred: sendall() argument 1 must be string or buffer, not dict"
Run Code Online (Sandbox Code Playgroud)
有没有办法将我传递给它的变量设置为ansible计划中的字符串?使用=而不是:传递值时不会解决问题.
我有一本字典,并为此分配了多个值 -
d = {"names[]": ["System/CPU/User/percent", "System/CPU/System/percent"], "values[]": "average_value"}
Run Code Online (Sandbox Code Playgroud)
我希望输出看起来像这样 -
names[]: System/CPU/User/percent
names[]: System/CPU/System/percent
values[]: average_value
Run Code Online (Sandbox Code Playgroud)
我怎么能做到这一点?我尝试过的不同for循环迭代无法正确解析列表.
谢谢.