是否有任何 git 命令可以为本地存储库中的分支(完美适用于所有分支)设置远程存储库,而无需将本地提交推送到远程?
简而言之,我想要得到的所有东西都可以通过使用 flag 来完成--all:
git push --all
也可以选择设置上游-u:
git push --all -u
但我不想推动任何提交。
期望的结果只是设置本地和远程存储库之间的链接,git push因此如果您git push将来不需要指定远程,也可以跳过--all选项。
我有一个包含该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 …
我想解决这个问题:
错误 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 时只设置一个环境变量或参数,而不是使用我自己的配置文件。
但如果这是不可能的,那么如何使用自定义配置文件?是否有可能自定义文件只是覆盖了这一参数,而将其他参数保留在官方映像配置中?
我有这个docker-compose.yaml
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"\nRun Code Online (Sandbox Code Playgroud)\n我正在这样运行:
\ndocker-compose up && docker-compose down\nRun 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\nRun Code Online (Sandbox Code Playgroud)\n它工作正常 -foo替换为baz以下内容:/bin/sh -c "echo $bar"
interpolation-poblem-busybox-1 | baz\nRun Code Online (Sandbox Code Playgroud)\n … environment-variables substitution string-interpolation docker docker-compose
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%数据包丢失 …
我有一个来自图像的 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) 如何在 MySQL8 中禁用当前会话的缓存查询结果?
系统变量的文档有很多与缓存有关的变量,但其中大多数已被弃用,我找不到任何可用于禁用查询缓存的变量。
我有兴趣禁用禁用命令后的所有语句的缓存。有什么办法可以做到这一点吗?
如何在 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) 我有这个错误消息:
无法加载 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) docker ×5
php ×3
caching ×1
composer-php ×1
config ×1
dateinterval ×1
datetime ×1
docker-run ×1
dockerfile ×1
document ×1
git ×1
intervals ×1
mysql ×1
mysql-8.0 ×1
networking ×1
nextcloud ×1
ping ×1
precision ×1
restore ×1
save ×1
session ×1
substitution ×1