小编Jim*_*mix的帖子

git 为所有分支设置远程而不推送

是否有任何 git 命令可以为本地存储库中的分支(完美适用于所有分支)设置远程存储库,而无需将本地提交推送到远程?

简而言之,我想要得到的所有东西都可以通过使用 flag 来完成--all: git push --all

也可以选择设置上游-u: git push --all -u

但我不想推动任何提交。

期望的结果只是设置本地和远程存储库之间的链接,git push因此如果您git push将来不需要指定远程,也可以跳过--all选项。

git configuration

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

作曲家删除(卸载)所有已安装的软件包(作曲家安装回滚)

我有一个包含该composer.lock文件的项目。我使用以下命令安装了软件包:

composer install
Run Code Online (Sandbox Code Playgroud)

现在我想将该composer install命令回滚到运行之前的状态。

如何删除所有包而不影响composer.lock文件?有没有一个composer命令可以做到这一点?

我试过:

composer remove *
Run Code Online (Sandbox Code Playgroud)

但我得到了:

[UnexpectedValueException]
“LICENSE”不是有效的别名。

我试过:

composer remove */*
Run Code Online (Sandbox Code Playgroud)

但后来我得到了一堆像这样的打印:

bin/console 在您的composer.json 中不是必需的,并且尚未被删除
列出的更新包“bin/console”未锁定。

为什么composer remove *根本不起作用?AFAIK 包名称VendorName/PackageName是 Packagist 的常见约定,但不是必须的(如果您使用私有存储库),那么如何能够IdontHaveAnySlash一次删除所有名为等的包呢?

我可能会使用类似的东西:

for package in $(composer show | awk '{print $1}'); do composer remove --no-interaction --dev --no-install "$package"; done
Run Code Online (Sandbox Code Playgroud)

但这不是一个简单的单一composer命令。此外,作曲家经常抱怨一个包是另一个包的一部分(依赖项),因此composer不会卸载它。

删除失败,学说/注释仍然存在,另一个包可能需要它。看composer why doctrine/annotations。

因为我的目的是回滚到没有安装任何包而只安装文件的状态:composer.lock而且composer.json我可能真的不关心任何依赖项、包版本、下载存储库的 URL 等。

我只想拥有一个像以前一样没有安装任何依赖项的项目。

有没有一个composer …

php uninstallation composer-php

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

Docker MySQL 8 如何设置 --secure-file-priv

我想解决这个问题:

错误 1290 (HY000):MySQL 服务器正在使用 --secure-file-priv 选项运行,因此无法执行此语句

使用docker 上的官方 MySQL 8镜像。

命令:

SHOW VARIABLES LIKE "secure_file_priv";
Run Code Online (Sandbox Code Playgroud)

给出:

+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| secure_file_priv | NULL  |
+------------------+-------+
1 row in set (0.01 sec)
Run Code Online (Sandbox Code Playgroud)

是否可以使用官方 MySQL 8 Docker 映像覆盖 --secure-file-priv 的默认值 NULL?

此图像中的默认值设置为 NULL config/my.cnf

完美地我想在使用 docker run 或 create 时只设置一个环境变量或参数,而不是使用我自己的配置文件。

但如果这是不可能的,那么如何使用自定义配置文件?是否有可能自定义文件只是覆盖了这一参数,而将其他参数保留在官方映像配置中?

mysql config parameter-passing docker

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

“所需变量缺少值”的环境变量插值格式无效

我有这个docker-compose.yaml

\n
version: "3.7"\nservices:\n  busybox:\n    image: busybox:latest\n    entrypoint: \'\'\n    environment:\n      - bar=${foo:-baz}\n    command: \n      - "/bin/sh" \n      - "-c" \n      - "echo $$bar"\n
Run Code Online (Sandbox Code Playgroud)\n

我正在这样运行:

\n
docker-compose up && docker-compose down\n
Run Code Online (Sandbox Code Playgroud)\n

输出:

\n
[+] Running 2/2\n \xe2\xa0\xbf Network interpolation-poblem_default      Created\n \xe2\xa0\xbf Container interpolation-poblem-busybox-1  Created\nAttaching to interpolation-poblem-busybox-1\ninterpolation-poblem-busybox-1  | baz\ninterpolation-poblem-busybox-1 exited with code 0\n[+] Running 2/2\n \xe2\xa0\xbf Container interpolation-poblem-busybox-1  Removed\n \xe2\xa0\xbf Network interpolation-poblem_default      Removed\n
Run Code Online (Sandbox Code Playgroud)\n

它工作正常 -foo替换为baz以下内容:/bin/sh -c "echo $bar"

\n
interpolation-poblem-busybox-1  | baz\n
Run Code Online (Sandbox Code Playgroud)\n …

environment-variables substitution string-interpolation docker docker-compose

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

docker run --name vs --hostname作为命令行选项的区别(ping:错误的地址)

1. --name和--hostnamedocker run命令有什么区别?

2.为什么foo不能通过bar其hostname= 到达barhost?

创建网络并连接两个容器:

docker network create test
docker run --rm -dit --name bar --network test --hostname barhost alpine:latest
docker run --rm -it --name foo --network test --hostname foohost alpine:latest
Run Code Online (Sandbox Code Playgroud)

barhost从foo终端ping

ping -c2 barhost
Run Code Online (Sandbox Code Playgroud)

给出结果:

错误的地址“ barhost”

但是bar从foo

ping -c2 bar
Run Code Online (Sandbox Code Playgroud)

成功:

PING条(172.31.0.2):56个数据字节来自172.31.0.2的64字节:seq = 0 ttl = 64时间= 0.260 ms来自172.31.0.2的64字节:seq = 1 ttl = 64时间= 0.155 ms

--- bar ping统计信息---传输2个数据包,接收2个数据包,0%数据包丢失 …

networking ping command-line-interface docker docker-run

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

Docker 如何在 Dockerfile 中保存和恢复 WORKDIR?

我有一个来自图像的 Dockerfile。我想修改它并添加一些文件操作,这些操作将与 FROM 图像给出的不同 WORKDIR 相关。因此,我想在修改 WORKDIR 之前将 WORKDIR 保存到一个变量,并在命令结束后从该变量恢复 WORKDIR。怎么做?

想要的结果:

Dockerfile伪代码:

FROM centos:7
some original commands
some original commands
...
var=WORKDIR #save WORKDIR <== how to do that?

WORDIR /my/path/
my commands
my commands

...
WORKDIR = var # restore path that was before <== how to do that?
Run Code Online (Sandbox Code Playgroud)

restore save working-directory docker dockerfile

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

MySQL 8 禁用当前会话的查询缓存

如何在 MySQL8 中禁用当前会话的缓存查询结果?

系统变量的文档有很多与缓存有关的变量,但其中大多数已被弃用,我找不到任何可用于禁用查询缓存的变量。
我有兴趣禁用禁用命令后的所有语句的缓存。有什么办法可以做到这一点吗?

session caching system-variable mysql-8.0

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

PHP DateInterval 创建瞬间(微秒或毫秒)间隔

如何在 PHP 中创建瞬间 DateInterval?例如:

0.123456秒

?

DateInterval::__construct的interval_spec

没有F也不f类似于支持分秒的DateInterval::format 。

DateInterval::createFromDateString的相对格式列表也没有提及秒的任何分数。

但DateInterval 类属性列表显示:

f 微秒数,以秒的一小部分形式表示。

我能够通过使用两个 DateTimes 的DateTime::diff瞬间获得 DateInterval

例子:

$formatStr = 'Y-m-d H:i:s.u';
$dateTimeStr = '2000-01-01 00:00:00.0';
$timeZone = new \DateTimeZone('UTC'); 
$timerDateTimeStart = \DateTimeImmutable::createFromFormat($formatStr, $dateTimeStr, $timeZone);

$formatStr = 'Y-m-d H:i:s.u';
$dateTimeStr = '2000-01-01 00:00:00.123456';
$timeZone = new \DateTimeZone('UTC');
$timerDateTimeEnd = \DateTimeImmutable::createFromFormat($formatStr, $dateTimeStr, $timeZone);

$timerDiff = $timerDateTimeStart->diff($timerDateTimeEnd);
$intervalStr = $timerDiff->format('%Y-%M-%D %H:%I:%S.%f');
echo 'Interval (yyyy-mm-dd hh:mm:ss.sfract): ' . $intervalStr; …
Run Code Online (Sandbox Code Playgroud)

php precision datetime intervals dateinterval

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

Docker Nextcloud 无法加载 Collabora Online - 请稍后再试

我有这个错误消息:

无法加载 Collabora Online - 请稍后重试

当我尝试打开文件时,位于自托管 nextcloud 网站的右上角

欢迎来到 Nextcloud Hub.docx

在 Nextcloud 中,它作为 Docker 容器运行。

欢迎使用 Nextcloud Hub.docx位于“文件”>“文档”中,作为示例文件。

截屏

我使用的是nextcloud:19-apache的官方映像
,我是这样启动的:

#!/bin/sh

set -e;
set -f;

docker run -d \
--name nextcloud \
-p 8080:80 \
-v /tmp/nextcloud/var/www/html:/var/www/html \
-v /tmp/nextcloud/var/lib/mysql:/var/lib/mysql \
-v /tmp/nextcloud/var/lib/postgresql/data:/var/lib/postgresql/data \
nextcloud:19-apache

sleep 3;

firefox "http://localhost:8080"

exit 0;
Run Code Online (Sandbox Code Playgroud)

我这样检查日志:

docker logs nextcloud
Run Code Online (Sandbox Code Playgroud)

除了这一条目之外,没有任何错误/警告:

AH00558:apache2:无法可靠地确定服务器的完全限定域名(使用 172.17.0.2)。全局设置“ServerName”指令以抑制此消息

单击 nextcloud web 设置 > 应用程序显示 Collabora 所需的两个应用程序均已安装:

在此输入图像描述

然而,没有它们的状态是否正常运行。

所有正在运行的容器的状态:

NETWORK ID          NAME                DRIVER              SCOPE
88efc7e2489f …
Run Code Online (Sandbox Code Playgroud)

php document collaborative-editing docker nextcloud

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