我正在尝试在 docker 容器内运行以下命令(centos 7作为基本映像)
ssh-keygen -t rsa -N ""
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
ssh-keygen:找不到命令
这是Dockerfile我用来构建容器的
FROM centos:7
ENV VER "0.12.9"
RUN yum update -y && yum install wget -y && yum install unzip -y
RUN yum install epel-release -y && yum install ansible -y
RUN wget https://releases.hashicorp.com/terraform/${VER}/terraform_${VER}_linux_amd64.zip
RUN unzip terraform_${VER}_linux_amd64.zip
RUN mv terraform /usr/local/bin/
RUN rm -rf terraform_${VER}_linux_amd64.zip
Run Code Online (Sandbox Code Playgroud)
有人能帮助我吗?
我需要gcp使用公共 IP创建一个 VM 实例(实例可以为自己随机选择一个),而无需明确定义一个。
那么我该怎么做呢?
这是gcloud我可以用来实现此目的的命令(创建一个自动分配公共 ip 的 vm 实例)
gcloud compute instances create controller-1 \
--async \
--boot-disk-size 200GB \
--can-ip-forward \
--image-family ubuntu-2004-lts \
--image-project ubuntu-os-cloud \
--machine-type e2-standard-2 \
--private-network-ip 10.240.0.10 \
--scopes compute-rw,storage-ro,service-management,service-control,logging-write,monitoring \
--subnet kubernetes \
--tags kubernetes-the-hard-way,controller
Run Code Online (Sandbox Code Playgroud)
上面的命令将创建一个具有内部 IP10.240.0.10和公共 IP 的虚拟机,其中包含一些随机选择的 IP 地址。
所以我想实现同样的目标 terraform
这是我的terraform代码。但我该怎么做呢?
resource "google_compute_instance" "controllers" {
name = "controller-0"
machine_type = "e2-standard-2"
zone = var.zone
can_ip_forward = true
tags = ["kubernetes-the-hard-way", "controller"] …Run Code Online (Sandbox Code Playgroud) 我有一个名为的文件a.txt,其中包含以下内容:
123
456
986
231
456
Run Code Online (Sandbox Code Playgroud)
我还有另一个文件,/etc/file2.txt内容如下:
test values
some values
hello world how are you
Run Code Online (Sandbox Code Playgroud)
我想将文件的内容复制a.txt到/etc/file2.txt,所以我这样做了:
- name: Copy from a.txt to file2.txt
copy:
src: "a.txt"
dest: "/etc/file2.txt"
Run Code Online (Sandbox Code Playgroud)
但这会覆盖并替换 file2.txt 中的全部内容
但我希望它是这样的:
test values
some values
hello world how are you
123
456
986
231
456
Run Code Online (Sandbox Code Playgroud)
有人可以帮我吗?
我有以下bash脚本
TOKEN=$(aws ecr get-login-password --region us-east-2)
echo $TOKEN
USERNAME="AWS"
ENCODE_ME="${USERNAME}:${TOKEN}"
echo $ENCODE_ME
BASE_64_ENCODED=$(echo -n "${USERNAME}:${TOKEN}" | base64)
# BASE_64_ENCODED=$(printf "%s" "${CONVERT_ME}" | base64)
echo $BASE_64_ENCODED
Run Code Online (Sandbox Code Playgroud)
的值$ENCODE_ME如下所示:
AWS:eyJwYXlsb2FkIjoidS9ralRSNTJpQWdJVC9DV1RQbFJOdEduUXUrdkkxcFc2dzYzckhiR0NSdGpLbEZsK0ZFN1YzU1l3ckZjSVh0RnNlcXJmMzJQMFVMTzQ5VWFLNdmQVlKS29aSWh2Y05BUWNHb0c4d2JRSUJBREJvQmdrcWhraUc5dzBCQndFd0hnWUpZSVpJQVdVREJBRXVNQkVFREExZ1k3TEtib1A3d1JKN3lBSUJFSUE3c1NtRFNkUC9yUXhLaDhWOno1NWhIQmhCa3k5LzFnQU1GWFVzS2ZCMUVnZHZENHFOWTlzS0tSN3BjRkVLUUJYY25sa2RJZUJUS2Q0SUVaWDhFeTBWUzNueklkZFc4bmhVaDlTbklhMk1ZenU4V3dVUkR1TTYvUW5KMXkrQ3lKaDFJTGZaaWJnd1c2VHpTaU5UdHpxVkJ3TkdtS2tXOGxQL1h0VG5UVIbzQ2SU1aVFB0TE1FUkFRamJkbit0N0ppeEYzS2U5MGxEUElLUE0wMTA3OUtnV0FydDBvWmZ3RVQwUVZzRGJ4eFZraWVXNmxsampnSlVRaXR4SERKTkhHMDRqOEl4OWhka3NzUUlFd29jUlNdmQVlKS29aSWh2Y05BUWNHb0c4d2JRSUJBREJvQmdrcWhraUc5dzBCQndFd0hnWUpZSVpJQVdVREJBRXVNQkVFREExZ1k3TEtib1A3d1JKN3lBSUJFSUE3c1NtRFNkUC9yUXhLaDhWOenNrRGZiRVM4N3ZraXliTjkzLzQ1Mkk2aUwwWmY0YzVvQWZpMXVGeFpqYVZCTUlKUHJsamJuSy84bDNWbmJaWS80bHRSK0pTemJ0M0tZcldLTUhzUVhEUTRWTlVFd1h2dW9xWXBSVHQvVkJvOTB4UDVMWnFRbDI0SWxyS3kzOU9iYXNzWnduV29rbW5yaDhIMDluaG14N05vMlN4SlVKTXpBUm10K1h3b28yQjZMZWJkK1A1TDlPSk9vSWdRWWZXdlpoQzMrWDZKZ3ZKTjh5M3lzeGVZbW5mejNKTTlmQlNOMFJ1NndRbTNoMjJ5bk5XNGdLclFLWG5EazZQcGZyV1EvdnEiLCJkYXRha2V5IjoiQVFFQkFIakI3L2lnd01nNE5Qd2F1cnhTSVl4NEhmbnh1R2MvNDhiRHd2d0RwTllXWmdBQUFINHdmQVlKS29aSWh2Y05BUWNHb0c4d2JRSUJBREJvQmdrcWhraUc5dzBCQndFd0hnWUpZSVpJQVdVREJBRXVNQkVFREExZ1k3TEtib1A3d1JKN3lBSUJFSUE3c1NtRFNkUC9yUXhLaDhWOHIrc2plRDRUQTArNWRTaTVTTnVBVzJMVjIzNVNLamVQaFBROHpMYXBOdFNrWFVoUHhLd2swSkIxSkdJaWQ1ST0iLCJ2ZXJzaW9uIjoiMiIsInR5cGUiOiJEQVRBX0tFWSIsImV4cGlyYXRpb24iOjE2MTE0NDQyNzZ9
Run Code Online (Sandbox Code Playgroud)
并BASE_64_ENCODED给出带有空格的值:
QVdTOmV5SndZWGxzYjJGa0lqb2lZbmhrUVUwelNVWnRhR1p2ZEhONWNsSlJXVE54YURCdFVrRk9Z VWRhVDBSd2JFVmlprTm5CTmVUTnRObGxCY0RWNlVtcHRVRFJIYW1Ka1JsTkVRMXB5YWxoSFptTlVaV1ZUTW5B clN6SXlUR2hOV1VVaUxDSmtZWFJoYTJWNUlqb2lRVkZGUWtGSWFrSTNMMmxuZDAxbk5FNVFkMkYx Y25oVFNWbDRORWhtYm5oMVIyTXZORGhpUkhkMmQwUndUb0eVlXaFBTVEpvU1RkTUwyTTNaMjExTDFsT04yUmtWMEkw WVdadmFVMHlVSFJKVEdSNlFteENkM2t2Ykc5QmNVUk5XRXBaU2xkSGQydHZMMU5OZWt4SVNHVlVj R2gxYjNalprTm5CTmVUTnRObGxCY0RWNlVtcHRVRFJIYW1Ka1JsTkVRMXB5YWxoSFptTlVaV1ZUTW5B clN6SXlUR2hOV1VVaUxDSmtZWFJoYTJWNUlqb2lRVkZGUWtGSWFrSTNMMmxuZDAxbk5FNVFkMkYx Y25oVFNWbDRORWhtYm5oMVIyTXZORGhpUkhkMmQwUndUbxWnFSVW8zVERGcWRFTkxlVWR1T0ZaR01FaGhS MnNyVGtock5YcFhjalpFUzB4SWNHWXhObmxaY1c5TVNIWnZiV05rTTNsUlkxSjZhMngxYlhGVWFW RktSeXRoU3l0QlJXSnJaVEpMVjFKSkswZFJSVWxMWmxGUmR6ZDFUR3MzTWxCdVpXMXZjMkUwTDFs TmEzTldkMVJhVVhoc1NrSnJSMVY1VkhaaFlsaHdZbFZYZEVsSVVGRlFiMGhMY2sxWGRXUmthM0kx ZVZsdUwyTm9TbEJpU1RSNE5uUm5lWGx1Yml0a2EyMUljbWRHWVZnd2FXUjZXRFZIVUhWbmNrcExO RmczVXk5aWVWWkNjbFZZWlcxTWF6UnVjRkZyWmtRMk9XY3hNR05FTW14NVVqTTJNVGRFVTA4NVlX NTJhalpRTUdwT1FqaENUazVUTjNwTmRIcG9hSGhWWlRkeVFVZEhObVJqVTNZeWIwMVhjbXQ1V25o TlltdDFRazFKUm1aRVJHaDRRWG95VEdOd0wxa3JaWFJCWmpWMlJYZEdPSFF3YUZWd1UxZzRUV3Rx VTFGb1MycFVTazllprTm5CTmVUTnRObGxCY0RWNlVtcHRVRFJIYW1Ka1JsTkVRMXB5YWxoSFptTlVaV1ZUTW5B clN6SXlUR2hOV1VVaUxDSmtZWFJoYTJWNUlqb2lRVkZGUWtGSWFrSTNMMmxuZDAxbk5FNVFkMkYx Y25oVFNWbDRORWhtYm5oMVIyTXZORGhpUkhkMmQwUndUbuUnlUMWh3UjIxU1VFaExa RGd4TTBGaU5qbFNTVGRhVkd4cWF5OUhaa2s1TW5VM2FXWk5TbXR0TVdObWF6bDRNVEl6T1hSM1Ru aEVlbTQxVVV0T04zWm5jVWhoWjFoeGVXdFhXRU0yYVU0M1RtMWhMMXBWTlRGUlVWQk1OR2hMU0M4 dmVVMU1UM0ZVV1VsbEwyaERjVkI1Y0ZSNlRFRTBWVXREWm1SV1VVdHNUM1pRVUVKTGRWTjNhbk5W Wld4YWVHYzFOVmhuZEhOaE5sbEZVV1ZzTld4UmFYWXhNMXB6VkhGMVYwSkdNazFLUzFVemJqZ3dZ eTk2UVU1VldESk5ia0ZpVlZGWlVXVndWVFZTTkdOSGVqSjRUVVJNZEU0clNXcG5PVXN4VmxsblZt bDVUblprTm5CTmVUTnRObGxCY0RWNlVtcHRVRFJIYW1Ka1JsTkVRMXB5YWxoSFptTlVaV1ZUTW5B clN6SXlUR2hOV1VVaUxDSmtZWFJoYTJWNUlqb2lRVkZGUWtGSWFrSTNMMmxuZDAxbk5FNVFkMkYx Y25oVFNWbDRORWhtYm5oMVIyTXZORGhpUkhkMmQwUndUbGxYV21kQlFVRklOSGRtUVZsS1MyOWFT V2gyWTA1QlVXTkhiMGM0ZDJKUlNVSkJSRUp2UW1kcmNXaHJhVWM1ZHpCQ1FuZEZkMGhuV1VwWlNW cEpRVmRWUkVKQlJYVk5Ra1ZGUkUxQmFIaFlhMEUwZVdkR1dIbDJWM2xSU1VKRlNVRTNNWEZHUWts Sk0zUnNNR1E1Ymtjd2JqZDNRWGhISzBndmN6aFNWbUpDYTJkcVptOUNTVFJFZWtwemFtTjZlbGxq TnpkTVNtMXBObVZUWkZJM2FVOTFWa054TlZrelFVTTVTbGs1VWpoclNUMGlMQ0oyWlhKemFXOXVJ am9pTWlJc0luUjVjR1VpT2lKRVFWUkJYMHRGV1NJc0ltVjRjR2x5WVhScGIyNGlPakUyTVRFME5q QXpNREo5
Run Code Online (Sandbox Code Playgroud)
为什么它之间会产生空格?
谢谢你!
我试图提供一个简单的使用keyvault方法,但出现以下错误:azureterraform
错误:检索
contactKeyVault:keyvault.BaseClient#GetCertificateContacts:发送请求失败:StatusCode=0 -- 原始错误:超出上下文截止时间
这是我的地形片段:
# data "azurerm_client_config" "current" {}
data "azuread_client_config" "current" {}
resource "azurerm_key_vault" "aks_key_vault" {
name = var.aks_kv_name
location = var.location
resource_group_name = var.rg_name
enabled_for_disk_encryption = true
tenant_id = data.azuread_client_config.current.tenant_id
# soft_delete_retention_days = var.aks_kv_soft_delete_retention_days
# purge_protection_enabled = false
sku_name = var.aks_kv_sku
access_policy {
tenant_id = data.azuread_client_config.current.tenant_id
object_id = data.azuread_client_config.current.object_id
key_permissions = var.aks_kv_key_permissions
secret_permissions = var.aks_kv_secret_permissions
storage_permissions = var.aks_kv_storage_permissions
}
tags = merge(var.common_tags)
}
Run Code Online (Sandbox Code Playgroud)
这是variables.tf
# Key Vault related variables
aks_kv_name …Run Code Online (Sandbox Code Playgroud) 我正在尝试child向flutter脚手架body:标签写入多个。
我是颤振的新手,我不知道如何在身体标签内做多个孩子。他是我尝试过的。
return new Scaffold(
appBar: AppBar(
leading: new Icon(Icons.live_tv),
title: const Text('SnapNews'),
backgroundColor: Colors.red,
actions: <Widget>[
IconButton(
icon: Icon(Icons.help),
onPressed: () {
Navigator.push(
context, MaterialPageRoute(builder: (_) => Help()));
},
),
],
),
body: new ListView.builder(
itemCount: 10,
itemBuilder: (context, index) {
return new GestureDetector(
onTap: () {
print("tapped");
},
child: new Padding(
padding: const EdgeInsets.all(8.0),
child: new Container(
color: Colors.grey,
height: 100.0,
),
),
);
},
),
floatingActionButton: FloatingActionButton.extended(
elevation: 4.0,
icon: const …Run Code Online (Sandbox Code Playgroud) 我有一个Dockerfile用作dotnet基础图像。我想在容器中执行来测试某些内容。
所以我尝试:
docker exec -it eb750806e3e1 powershell
Run Code Online (Sandbox Code Playgroud)
但我收到此错误:
OCI 运行时执行失败:执行失败:container_linux.go:345:启动容器进程导致“exec:”powershell”:在 $PATH 中找不到可执行文件”:未知
有人可以帮我吗?
我有这个 python 字典myDict:
{'Age': {0: '39'}, 'DailyRate': {0: '903'}, 'DistanceFromHome': {0: '2'}, 'EnvironmentSatisfaction': {0: '1'}, 'HourlyRate': {0: '41'}, 'JobInvolvement': {0: '4'}, 'JobLevel': {0: '3'}, 'JobSatisfaction': {0: '3'}, 'MonthlyIncome': {0: '7880'}, 'MonthlyRate': {0: '2560'}, 'NumCompaniesWorked': {0: '0'}, 'PercentSalaryHike': {0: '18'}, 'RelationshipSatisfaction': {0: '4'}, 'StandardHours': {0: '80'}, 'TotalWorkingYears': {0: '9'}, 'TrainingTimesLastYear': {0: '3'}, 'YearsAtCompany': {0: '8'}, 'YearsInCurrentRole': {0: '7'}, 'YearsSinceLastPromotion': {0: '0'}, 'YearsWithCurrManager': {0: '7'}, 'MaritalStatus_': {0: '2'}, 'JobRole_': {0: '7'}, 'Gender_': {0: '1'}, 'EducationField_': {0: '1'}, 'Department_': {0: '2'}, …Run Code Online (Sandbox Code Playgroud) 我有一个bitnamiapache2 wordpress 站点。
我htdocs在/opt/bitnami/apps/wordpress/htdocs目录中,里面的所有东西都被移动到一个名为的目录blogs中htdocs,如下所示:
/opt/bitnami/apps/wordpress/htdocs/
/blogs
- contents
Run Code Online (Sandbox Code Playgroud)
现在当我访问blog.mydomain.com它时会File permission出现如下错误:
Forbidden 您无权访问此资源。
但是当我访问时,blog.mydomain.com/blogs我可以看到内容。
那么,如何我可以从重定向 blog.mydomain.com到blog.mydomain.com/blogs当有人点击blog.mydomain.com