我试图将一个php应用程序停靠.在dockerfile中我下载了存档,提取它等.
一切正常,但是如果新版本发布,我更新dockerfile我必须重新安装应用程序,因为config.php被覆盖.
所以我认为我可以将文件挂载为卷,就像我对数据库一样.
我尝试了两种方式,包括音量和直接路径.
泊坞窗 - 撰写:
version: '2'
services:
app:
build: src
ports:
- "8080:80"
depends_on:
- mysql
volumes:
- app-conf:/var/www/html/upload
- app-conf:/var/www/html/config.php
environment:
DB_TYPE: mysql
DB_MANAGER: MysqlManager
mysql:
image: mysql:5.6
container_name: mysql
volumes:
- mysqldata:/var/lib/mysql
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD:
MYSQL_DATABASE:
MYSQL_USER:
MYSQL_PASSWORD:
volumes:
mysqldata:
app-conf:
Run Code Online (Sandbox Code Playgroud)
这导致错误:
我用一个给定的路径尝试了它,作为一个装载的音量.
/src/docker/myapp/upload:/var/www/html/upload
/src/docker/myapp/upload:/var/www/html/config.php
Run Code Online (Sandbox Code Playgroud)
但是两种方式都不起作用.使用已安装的卷,我看到上传已创建.
但随后失败了
/var/www/html/config.php \\"导致\\"不是目录\\"\""
如果我用/src/docker/myapp/upload/config.php:/var/www/html/config.php试试
Docker创建上传文件夹,然后创建config.php文件夹.不是文件.
或者还有另一种方法来保持配置?
是否可以在条件上设置指令?
我有一个"粘性"指令,可以在屏幕上粘贴元素.我有一个社交共享组件,我正在使用它
<tempalte>
<div class="social-share" v-sticky>
....
</div>
</template>
Run Code Online (Sandbox Code Playgroud)
但是,现在我需要一个条件.我很想在支柱上做这件事.
<social-share :is-sticky="true">
Run Code Online (Sandbox Code Playgroud)
有没有简单的方法来添加指令?
我试图用v-bind /绑定它:
<div class="social-share" :v-sticky="isSticky">
Run Code Online (Sandbox Code Playgroud)
但这最终会在标签中呈现"v-sticky".
我从 go 和 jwt 开始。
为了测试目的,我有一个硬编码的秘密。以及获取钥匙的路线
const secretKey = "YOLOSWAG"
var mySigningKey = []byte(secretKey)
var GetTokenHandler = http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
token := jwt.New(jwt.SigningMethodHS256)
token.Claims = jwt.MapClaims{
"admin": true,
"name": "John Doe",
"exp": time.Now().Add(time.Hour * 24).Unix(),
}
tokenString, _ := token.SignedString(mySigningKey)
w.Write([]byte(tokenString))
})
var jwtMiddleware = jwtmiddleware.New(jwtmiddleware.Options{
ValidationKeyGetter: func(token *jwt.Token) (interface{}, error) {
return mySigningKey, nil
},
SigningMethod: jwt.SigningMethodHS256,
})
Run Code Online (Sandbox Code Playgroud)
后来将 jwtMiddleware 添加到我的路线中
r.Handle("/protected", jwtMiddleware.Handler(ProtectedTestHandler)).Methods("GET")
Run Code Online (Sandbox Code Playgroud)
所以 localhost:3000/protected 会输出一个错误 未找到所需的授权令牌
这有效。
/token 将输出我的令牌。这也有效。
最后 /protected(在邮递员中)授权:Bearer {token}
将在输入字节 0 处输出非法的 base64 …
所以,
我能以某种方式阻止django渲染特定的模板变量吗?
背景是,我想在django应用程序中尝试vuejs,哪种工作.
问题是,两者共享变量的相同语法.
所以在vuejs你声明它们就像
{{ message }}
Run Code Online (Sandbox Code Playgroud)
djangos模板引擎将其解释为django模板变量并尝试渲染它.因为它确实存在,它消失了,vuejs不再工作了.
我正在尝试在当前的django项目中实现vuejs.它有点工作.但是我想要一个更干净的结构并使用vuejs组件.
但是组件没有出现在前端.
所以这里我有我的基本vue组件(来自vueify-laravel示例)
<template>
<div>
<h1>Hello, {{ name }}</h1>
<input type="text" v-model="name">
</div>
</template>
<script>
export default {
data: function() {
return {
name: 'Laracasts'
};
}
};
</script>
<style>
h1 {
color: red;
}
</style>
Run Code Online (Sandbox Code Playgroud)
在我的app.js中我有
var Vue = require('vue')
import Greeter from './components/Greeter.vue'
new Vue({
el: '#app',
components: {
greeter: Greeter
}
});
Run Code Online (Sandbox Code Playgroud)
最后在我的一个django模板中
<div id="app">
<greeter></greeter>
</div>
Run Code Online (Sandbox Code Playgroud)
我安装了vue dev工具,它向我显示了根节点,然后是greeter节点.但没有任何内容.app容器也是空的.
我在PhpStorm中启动了一个项目。这是一个Laravel项目,我已经安装了Laravel插件和ide-helper,但仍然收到以下奇怪的错误:

其他人则期待语句错误。有人知道如何解决它们吗?

