小编Nic*_*lay的帖子

docker healthcheck 显示在 django 中未找到

我将健康检查添加到我的 Dockerfile 中:

HEALTHCHECK --interval=1m --timeout=5s --retries=2 --start-period=10s \
  CMD wget -qO- http://localhost:8070/healthcheck || exit 1
Run Code Online (Sandbox Code Playgroud)

在我的项目主 urls.py 文件中,我添加了条目:

url(r'^healthcheck/', lambda r: HttpResponse())
Run Code Online (Sandbox Code Playgroud)

该项目已激活并部署,因此我可以理解运行状况检查是有效的,但是 - 我不断收到:

2017-12-17 13:25:27,891 警告基地 51 140551932685128 未找到:/healthcheck

写入日志(每分钟一次)。当我从服务器内部运行 wget 时,也会添加日志条目。

是否是 healthcheck 语法、django 条目设置或 docker 中的 wget 有问题?

请协助。谢谢。

python django wget docker

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

我正在尝试使用gcs bucket作为gke pod中的卷

我收到错误消息:

错误验证“ mysql.yaml”:错误验证数据:ValidationError(Deployment.spec.template.spec.volumes [0]):io.k8s.kubernetes.pkg.api.v1.Volume中的未知字段“ path”;)

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: mysql
  labels:
    app: mysql
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mysql
  template:
    metadata:
      labels:
        app: mysql
    spec:
      containers:
        - image: mysql:5.6
          name: mysql
          env:
            - name: MYSQL_ROOT_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: mysql
                  key: password
          ports:
            - containerPort: 3306
              name: mysql
          volumeMounts:
            - name: mapping-sandbox-test
              mountPath: /var/lib/mysql
      volumes:
        - name: mapping-sandbox-test
          path: gs://<bucket-name>
Run Code Online (Sandbox Code Playgroud)

google-cloud-storage kubernetes google-kubernetes-engine docker-volume

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

如何在 alpine Linux Docker 镜像中安装 libwebp

我想为我的 docker 映像安装 libwebp 依赖项。如何使用 docker 文件下载并安装 libwebp?一种方法是您可以下载 libwebp 和 ADD 文件到映像,如下所示。

ADD resources/vts/libwebp-0.4.1-linux-x86-64  /lib/libwebp-0.4.1-linux-x86-64
Run Code Online (Sandbox Code Playgroud)

但我需要通过运行这样的命令来安装它。

RUN apk upgrade -U \ && apk add ca-certificates ffmpeg \ && rm -rf/var/cache/*
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?我参考下图来创建我的 docker 文件

FROM openjdk:8-jdk-alpine
Run Code Online (Sandbox Code Playgroud)

docker dockerfile alpine-linux

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

nuxt.js Vuex Vuejs无法读取未定义的属性“ getters”

我是Vuejs和Nuxt.js的新手。我在运行出现错误的项目时创建了Nuxt项目:

在此处输入图片说明

请帮我。

谢谢。

javascript vue.js vuex vuejs2 nuxt.js

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

docker docker-compose up方法现在监听:http:// [::]:80

创建了一个dotnet核心应用程序并在运行命令时:

docker-compose up
Run Code Online (Sandbox Code Playgroud)

一切顺利,但是我不明白下面的意思是什么:

现在收听:http:// [::]:80

Dockerfile的内容为:

FROM microsoft/aspnetcore:2.0
ARG source 
WORKDIR /app 
EXPOSE 80 
COPY ${source:-obj/Docker/publish} . 
ENTRYPOINT ["dotnet", "SampleCoreApp.dll"]
Run Code Online (Sandbox Code Playgroud)

docker-compose文件为:

version: '3'
services:
 samplecoreapp:
   image: samplecoreapp
   build:
     context: ./SampleCoreApp
     dockerfile: Dockerfile
Run Code Online (Sandbox Code Playgroud)

为什么我看不到IP地址?

如果我有3个VM,并且要在VM2上运行此应用程序,那么如何将这个Docker容器部署到VM2?

.net core docker docker-compose

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

如何将base64 url​​设置为图像src

实际上,我有一个使用的图像angular-cli

<img src="" style="width: 120px; padding-top: 10px" alt="" id="dishPhoto">
Run Code Online (Sandbox Code Playgroud)

和 Base64 图像网址imgUrl。所以我想设置 img src:

let img = document.getElementById('dishPhoto');
img.setAttribute('src',this.imgUrl);
Run Code Online (Sandbox Code Playgroud)

但我收到错误:

document.getElementById(...) 为 null

你能帮我解决它吗?

javascript base64 typescript

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

Minikube公开了loadbalancer类型的随机端口.我可以定义特定端口吗?

在部署nginx(或任何应用程序)之后,我尝试使用以下配置文件公开它:

apiVersion: v1
kind: Service
metadata:
  name: nginx
  labels:
    app: nginx
spec:
  type: LoadBalancer
  ports:
    - port: 80
      targetPort: 80
  selector:
    app: nginx
Run Code Online (Sandbox Code Playgroud)

结果:

C:\install\kube>kubectl get service -l app=nginx
NAME      TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGE
nginx     LoadBalancer   10.108.193.215   <pending>     80:31035/TCP   21h
Run Code Online (Sandbox Code Playgroud)

请注意,端口号31035是随机分配的.是否可以定义特定端口?

版本:

C:\install\kube>minikube version
minikube version: v0.24.1

C:\install\kube>kubectl version
Client Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.0", GitCommit:"6e937839ac04a38cac63e6a7a306c5d035fe7b0a", GitTreeState:"clean", BuildDate:"2017-09-28T22:57:57Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"windows/amd64"}
Server Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.0", GitCommit:"0b9efaeb34a2fc51ff8e4d34ad9bc6375459c4a4", GitTreeState:"clean", BuildDate:"2017-11-29T22:43:34Z", GoVersion:"go1.9.1", Compiler:"gc", Platform:"linux/amd64"}
Run Code Online (Sandbox Code Playgroud)

kubernetes minikube

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

Docker在构建时丢失了纱线依赖

在Dockerfile中运行yarn安装时无法获取node_modules文件夹

test-sof
??? docker-compose.yml
??? Dockerfile
??? package.json
??? yarn.lock
Run Code Online (Sandbox Code Playgroud)

docker-compose.yml

version: '3'
services:
  web:
    build: .
    volumes:
      - .:/myapp
Run Code Online (Sandbox Code Playgroud)

package.json

{
  "name": "site",
  "private": true,
  "dependencies": {
    "@rails/webpacker": "^3.2.1",
    "babel-preset-react": "^6.24.1",
    "prop-types": "^15.6.0",
    "react": "^16.2.0",
    "react-dom": "^16.2.0",
    "reactjs": "^1.0.0",
    "underscore": "^1.8.3"
  },
  "devDependencies": {
    "webpack-dev-server": "^2.11.1"
  }
}
Run Code Online (Sandbox Code Playgroud)

Dockfer文件

FROM ruby:2.5

RUN curl -sL https://deb.nodesource.com/setup_8.x | bash - && \
    curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
    echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \ …
Run Code Online (Sandbox Code Playgroud)

dockerfile docker-compose yarnpkg

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

Docker不以USER身份运行命令

我是新来的Docker,我在写我的论文时遇到麻烦Dockerfile。事实是,我创建了一个jonas523要执行shell命令的用户。因此,我将其放入其中,Dockerfile当我进入新容器时,我发现该命令未与我创建的新用户一起使用。

我想我不明白的USER指令提供Docker

USER jonas523

RUN \
    echo "JAVA_HOME=/usr/java/jdk1.7.0_45/bin" >> /home/jonas523/.bash_profile \
    && echo "ANT_HOME=/opt/apache-ant-1.8.2/bin" >> /home/jonas523/.bash_profile \
    && echo "export JAVA_HOME" >> /home/jonas523/.bash_profile \
    && echo "export ANT_HOME" >> /home/jonas523/.bash_profile \
    && echo "PATH=$PATH:$HOME/bin:$JAVA_HOME:$ANT_HOME" >> /home/jonas523/.bash_profile \
    && echo "export PATH" >> /home/jonas523/.bash_profile

RUN source ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)

谁能告诉我有关USER指令的使用。RUNCMD指令有什么区别?

谢谢。

unix virtualization docker

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

错误:权限被拒绝 - /usr/share/logstash/sincedb/sincedb

我有一个docker-compose用于运行包括 Logstash 在内的多个容器的文件。我已经将挂载映射sincedb到片段中:

logstash:
build:
  context: logstash/
volumes:      
  - ./tmp/logstash/sincedb:/usr/share/logstash/sincedb
Run Code Online (Sandbox Code Playgroud)

Logstash 容器有一些权限错误,特别是在访问 sincedb 时,如下面的错误片段所示:

Error: Permission denied - /usr/share/logstash/sincedb/sincedb
Exception: Errno::EACCES
Run Code Online (Sandbox Code Playgroud)

我尝试在容器 chmod 中执行,但出现以下错误:

bash-4.2$ chmod o+wx /usr/share/logstash/sincedb/
chmod: changing permissions of ‘/usr/share/logstash/sincedb/’: Operation not permitted
Run Code Online (Sandbox Code Playgroud)

有没有办法克服这个权限问题?

logstash docker-compose

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

Ansible - 在主机上启动tomcat

我一直在使用ansible playbook来下载并在主机中启动tomcat.

这是我的库存主机文件:

[group1]
machine1 ansible_host=10.40.0.168
Run Code Online (Sandbox Code Playgroud)

我的group_vars中有group1.yml文件:

---
ansible_ssh_user: user
ansible_ssh_pass: pass
ansible_sudo_pass: passp
Run Code Online (Sandbox Code Playgroud)

我的剧本是:

---
- hosts: group1
  sudo: yes
  tasks:

 - name: Update all packages to the latest version
   apt:
     upgrade: dist

- name: Download tomcat
  get_url: url=http://mirrors.up.pt/pub/apache/tomcat/tomcat-9/v9.0.1/bin/apache-tomcat-9.0.1-fulldocs.tar.gz dest=/opt/apache-tomcat-9.0.1.tar.gz

- name: Unarchive a file that is already on the remote machine
  unarchive:
   src: /opt/apache-tomcat-9.0.1.tar.gz
   dest: /opt/
   remote_src: yes

- name: Run Tomcat
  shell: ./startup.sh
  args:
    chdir: /opt/apache-tomcat-9.0.1/bin
Run Code Online (Sandbox Code Playgroud)

我尝试./startup.sh/opt/apache-tomcat-9.0.1/bin文件夹中运行以启动tomcat.

我运行以下命令:

ansible-playbook playbookname.yml
Run Code Online (Sandbox Code Playgroud)

如果我./startup.sh在主机上运行它工作正常,但是当我从控制机器运行时,我得到: …

ansible ansible-inventory

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

Docker:无法设置env变量

即使我已经设置了env var FOO也没有显示:

$ docker run -e FOO=foofoo ubuntubr echo $PATH
/bin:/usr/ucb:/usr/bin:/usr/sbin:/sbin:/usr/etc:/etc
$ docker run -e FOO=foofoo ubuntubr echo $FOO
$ 
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

但我能够修改路径:

docker run -e PATH=/nopath ubuntubr echo $PATH
docker: Error response from daemon: OCI runtime create failed: container_linux.go:296: starting container process caused "exec: \"echo\": executable file not found in $PATH": unknown.
ERRO[0000] error waiting for container: context canceled 
Run Code Online (Sandbox Code Playgroud)

那为什么不是docker run -e FOO=foofoo ubuntubr echo $FOO不打印foofoo

docker dockerfile

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