使用离子时,有什么区别
ionic plugin install ...
Run Code Online (Sandbox Code Playgroud)
和
cordova plugin install
Run Code Online (Sandbox Code Playgroud)
应该使用哪一个?为什么?
谢谢!
我正在尝试配置nodejs容器以连接到mysql数据库.
我的代码看起来像这样:
var pool = mysql.createPool({
host : 'mysql',
port : '3306',
user : 'root',
password : '...',
database : 'general',
connectionLimit : 50,
queueLimit : 5000
});
Run Code Online (Sandbox Code Playgroud)
我正在使用标准的mysql容器.
我用无花果启动容器.fig.yml看起来像:
node:
build: node
ports:
- "9000:9000"
- "9001:9001"
links:
- mysql:mysql
command: node server/Main.js
mysql:
image: mysql
volumes:
- /data/test:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: ...
Run Code Online (Sandbox Code Playgroud)
每次我尝试连接时都会收到以下错误:
failed to connect to database: Error: ER_HOST_NOT_PRIVILEGED: Host '172.17.0.142' is not allowed to connect to this MySQL server
Run Code Online (Sandbox Code Playgroud)
知道我做错了什么吗?我玩过wordpress,似乎连接到同一个mysql db没有任何问题.
谢谢!
编辑 所以,我最终找到了答案.这个问题确实是一个特权问题.我运行了以下命令:
GRANT …Run Code Online (Sandbox Code Playgroud) 我有以下 Dockerfile:
FROM alpine:3.3
RUN apk update \
&& apk add curl tar git gzip
RUN curl --retry 3 --retry-delay 20 --show-error --location --remote-name --silent "https://nodejs.org/dist/v6.2.0/node-v6.2.0-linux-x64.tar.gz" \
&& tar -xzf "node-v6.2.0-linux-x64.tar.gz" -C /usr/local --strip-components=1 --same-owner \
&& rm -rf "node-v6.2.0-linux-x64.tar.gz" \
&& ls -la /usr/local/bin && env \
&& /usr/local/bin/node -v \
&& npm cache clear
Run Code Online (Sandbox Code Playgroud)
构建图像给了我:
Sending build context to Docker daemon 13.51 MB
Step 1 : FROM alpine:3.3
---> 3e467a6273a3
Step 2 : RUN apk update && apk …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 AES-256 和带有 base64 的 Python 加密时间戳。使用以下命令生成输出的 OpenSSL 等效项:
openssl enc -aes256 -pass pass:'1Lw2*kx18#AvNuij*iRL1nY1UA_#k8$+' -nosalt -base64 <<< "1489355323"
Run Code Online (Sandbox Code Playgroud)
我的python代码如下所示:
import time
from base64 import b64encode
from Crypto.Cipher import AES
key = '1Lw2*kx18#AvNuij*iRL1nY1UA_#k8$+'
timestamp = "1489355323"
BS = 16
pad = lambda s: s + (BS - len(s) % BS) * chr(BS - len(s) % BS)
iv = "\x00" * 16
aes = AES.new(key, AES.MODE_CBC, iv)
ciphertext = aes.encrypt( pad( timestamp ) )
print b64encode(ciphertext)
Run Code Online (Sandbox Code Playgroud)
目前输出不同,我需要获得与 OpenSSL 命令相同的输出。知道我做错了什么吗?
docker ×2
node.js ×2
alpine-linux ×1
cordova ×1
cryptography ×1
encryption ×1
fig ×1
javascript ×1
mysql ×1
pycrypto ×1
python ×1