зеркало из https://github.com/Azure/reddog-code.git
Initial dev container (#42)
This commit is contained in:
Родитель
737c3e2a7c
Коммит
9a7f3ebb7a
|
@ -0,0 +1,47 @@
|
||||||
|
# [Choice] .NET version: 5.0, 3.1, 2.1
|
||||||
|
ARG VARIANT=5.0
|
||||||
|
FROM mcr.microsoft.com/vscode/devcontainers/dotnet:0-${VARIANT}
|
||||||
|
|
||||||
|
# [Option] Install Node.js
|
||||||
|
ARG INSTALL_NODE="true"
|
||||||
|
ARG NODE_VERSION="lts/*"
|
||||||
|
RUN if [ "${INSTALL_NODE}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
|
||||||
|
|
||||||
|
# [Option] Install Azure CLI
|
||||||
|
ARG INSTALL_AZURE_CLI="false"
|
||||||
|
COPY library-scripts/azcli-debian.sh /tmp/library-scripts/
|
||||||
|
RUN if [ "$INSTALL_AZURE_CLI" = "true" ]; then bash /tmp/library-scripts/azcli-debian.sh; fi \
|
||||||
|
&& apt-get clean -y && rm -rf /var/lib/apt/lists/* /tmp/library-scripts
|
||||||
|
|
||||||
|
# [Option] Enable non-root Docker access in container
|
||||||
|
ARG ENABLE_NONROOT_DOCKER="true"
|
||||||
|
# [Option] Use the OSS Moby CLI instead of the licensed Docker CLI
|
||||||
|
ARG USE_MOBY="true"
|
||||||
|
|
||||||
|
ARG USERNAME=vscode
|
||||||
|
|
||||||
|
# Install needed packages and setup non-root user. Use a separate RUN statement to add your
|
||||||
|
# own dependencies. A user of "automatic" attempts to reuse an user ID if one already exists.
|
||||||
|
COPY library-scripts/docker-debian.sh /tmp/library-scripts/
|
||||||
|
RUN apt-get update \
|
||||||
|
# Use Docker script from script library to set things up
|
||||||
|
&& /bin/bash /tmp/library-scripts/docker-debian.sh "${ENABLE_NONROOT_DOCKER}" "/var/run/docker-host.sock" "/var/run/docker.sock" "${USERNAME}" \
|
||||||
|
# Install Dapr
|
||||||
|
&& wget -q https://raw.githubusercontent.com/dapr/cli/master/install/install.sh -O - | /bin/bash \
|
||||||
|
# Clean up
|
||||||
|
&& apt-get autoremove -y && apt-get clean -y && rm -rf /var/lib/apt/lists/* /tmp/library-scripts/
|
||||||
|
|
||||||
|
# Add daprd to the path for the VS Code Dapr extension.
|
||||||
|
ENV PATH "$PATH:/home/${USERNAME}/.dapr/bin"
|
||||||
|
|
||||||
|
# Setting the ENTRYPOINT to docker-init.sh will configure non-root access
|
||||||
|
# to the Docker socket. The script will also execute CMD as needed.
|
||||||
|
ENTRYPOINT [ "/usr/local/share/docker-init.sh" ]
|
||||||
|
CMD [ "sleep", "infinity" ]
|
||||||
|
|
||||||
|
# [Optional] Uncomment this section to install additional OS packages.
|
||||||
|
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
|
||||||
|
# && apt-get -y install --no-install-recommends <your-package-list-here>
|
||||||
|
|
||||||
|
# [Optional] Uncomment this line to install global node packages.
|
||||||
|
# RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g <your-package-here>" 2>&1
|
|
@ -0,0 +1,34 @@
|
||||||
|
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
|
||||||
|
// https://github.com/microsoft/vscode-dev-containers/tree/v0.177.0/containers/dapr-dotnet
|
||||||
|
{
|
||||||
|
"name": "Dapr with C# (Community)",
|
||||||
|
"dockerComposeFile": "docker-compose.yml",
|
||||||
|
"service": "app",
|
||||||
|
"workspaceFolder": "/workspace",
|
||||||
|
|
||||||
|
// Use this environment variable if you need to bind mount your local source code into a new container.
|
||||||
|
"remoteEnv": {
|
||||||
|
"LOCAL_WORKSPACE_FOLDER": "${localWorkspaceFolder}"
|
||||||
|
},
|
||||||
|
|
||||||
|
// Set *default* container specific settings.json values on container create.
|
||||||
|
"settings": {
|
||||||
|
"terminal.integrated.shell.linux": "/bin/bash"
|
||||||
|
},
|
||||||
|
|
||||||
|
// Add the IDs of extensions you want installed when the container is created.
|
||||||
|
"extensions": [
|
||||||
|
"ms-azuretools.vscode-dapr",
|
||||||
|
"ms-azuretools.vscode-docker",
|
||||||
|
"ms-dotnettools.csharp"
|
||||||
|
],
|
||||||
|
|
||||||
|
// Use 'forwardPorts' to make a list of ports inside the container available locally.
|
||||||
|
// "forwardPorts": [],
|
||||||
|
|
||||||
|
// Ensure Dapr is running on opening the container
|
||||||
|
"postCreateCommand": "dapr uninstall --all && dapr init",
|
||||||
|
|
||||||
|
// Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
|
||||||
|
"remoteUser": "vscode"
|
||||||
|
}
|
|
@ -0,0 +1,36 @@
|
||||||
|
version: '3.7'
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
args:
|
||||||
|
variant: 3.1
|
||||||
|
|
||||||
|
environment:
|
||||||
|
#ASPNETCORE_Kestrel__Endpoints__Http__Url: http://*:5000
|
||||||
|
DAPR_NETWORK: dapr-dev-container
|
||||||
|
|
||||||
|
init: true
|
||||||
|
volumes:
|
||||||
|
# Forwards the local Docker socket to the container.
|
||||||
|
- /var/run/docker.sock:/var/run/docker-host.sock
|
||||||
|
# Update this to wherever you want VS Code to mount the folder of your project
|
||||||
|
- ..:/workspace:cached
|
||||||
|
|
||||||
|
# Overrides default command so things don't shut down after the process ends.
|
||||||
|
entrypoint: /usr/local/share/docker-init.sh
|
||||||
|
command: sleep infinity
|
||||||
|
|
||||||
|
# Uncomment the next four lines if you will use a ptrace-based debuggers like C++, Go, and Rust.
|
||||||
|
# cap_add:
|
||||||
|
# - SYS_PTRACE
|
||||||
|
# security_opt:
|
||||||
|
# - seccomp:unconfined
|
||||||
|
|
||||||
|
# Use "forwardPorts" in **devcontainer.json** to forward an app port locally.
|
||||||
|
# (Adding the "ports" property to this file will not forward from a Codespace.)
|
||||||
|
|
||||||
|
networks:
|
||||||
|
default:
|
||||||
|
name: dapr-dev-container
|
|
@ -0,0 +1,34 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
#-------------------------------------------------------------------------------------------------------------
|
||||||
|
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
|
# Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information.
|
||||||
|
#-------------------------------------------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# Docs: https://github.com/microsoft/vscode-dev-containers/blob/master/script-library/docs/azcli.md
|
||||||
|
# Maintainer: The VS Code and Codespaces Teams
|
||||||
|
#
|
||||||
|
# Syntax: ./azcli-debian.sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ "$(id -u)" -ne 0 ]; then
|
||||||
|
echo -e 'Script must be run as root. Use sudo, su, or add "USER root" to your Dockerfile before running this script.'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
# Install curl, apt-transport-https, lsb-release, or gpg if missing
|
||||||
|
if ! dpkg -s apt-transport-https curl ca-certificates lsb-release > /dev/null 2>&1 || ! type gpg > /dev/null 2>&1; then
|
||||||
|
if [ ! -d "/var/lib/apt/lists" ] || [ "$(ls /var/lib/apt/lists/ | wc -l)" = "0" ]; then
|
||||||
|
apt-get update
|
||||||
|
fi
|
||||||
|
apt-get -y install --no-install-recommends apt-transport-https curl ca-certificates lsb-release gnupg2
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Install the Azure CLI
|
||||||
|
echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/azure-cli.list
|
||||||
|
curl -sL https://packages.microsoft.com/keys/microsoft.asc | (OUT=$(apt-key add - 2>&1) || echo $OUT)
|
||||||
|
apt-get update
|
||||||
|
apt-get install -y azure-cli
|
||||||
|
echo "Done!"
|
|
@ -0,0 +1,182 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
#-------------------------------------------------------------------------------------------------------------
|
||||||
|
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
|
# Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information.
|
||||||
|
#-------------------------------------------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# Docs: https://github.com/microsoft/vscode-dev-containers/blob/master/script-library/docs/docker.md
|
||||||
|
# Maintainer: The VS Code and Codespaces Teams
|
||||||
|
#
|
||||||
|
# Syntax: ./docker-debian.sh [enable non-root docker socket access flag] [source socket] [target socket] [non-root user] [use moby]
|
||||||
|
|
||||||
|
ENABLE_NONROOT_DOCKER=${1:-"true"}
|
||||||
|
SOURCE_SOCKET=${2:-"/var/run/docker-host.sock"}
|
||||||
|
TARGET_SOCKET=${3:-"/var/run/docker.sock"}
|
||||||
|
USERNAME=${4:-"automatic"}
|
||||||
|
USE_MOBY=${5:-"true"}
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ "$(id -u)" -ne 0 ]; then
|
||||||
|
echo -e 'Script must be run as root. Use sudo, su, or add "USER root" to your Dockerfile before running this script.'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Determine the appropriate non-root user
|
||||||
|
if [ "${USERNAME}" = "auto" ] || [ "${USERNAME}" = "automatic" ]; then
|
||||||
|
USERNAME=""
|
||||||
|
POSSIBLE_USERS=("vscode" "node" "codespace" "$(awk -v val=1000 -F ":" '$3==val{print $1}' /etc/passwd)")
|
||||||
|
for CURRENT_USER in ${POSSIBLE_USERS[@]}; do
|
||||||
|
if id -u ${CURRENT_USER} > /dev/null 2>&1; then
|
||||||
|
USERNAME=${CURRENT_USER}
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if [ "${USERNAME}" = "" ]; then
|
||||||
|
USERNAME=root
|
||||||
|
fi
|
||||||
|
elif [ "${USERNAME}" = "none" ] || ! id -u ${USERNAME} > /dev/null 2>&1; then
|
||||||
|
USERNAME=root
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Function to run apt-get if needed
|
||||||
|
apt-get-update-if-needed()
|
||||||
|
{
|
||||||
|
if [ ! -d "/var/lib/apt/lists" ] || [ "$(ls /var/lib/apt/lists/ | wc -l)" = "0" ]; then
|
||||||
|
echo "Running apt-get update..."
|
||||||
|
apt-get update
|
||||||
|
else
|
||||||
|
echo "Skipping apt-get update."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Ensure apt is in non-interactive to avoid prompts
|
||||||
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
# Install apt-transport-https, curl, lsb-release, gpg if missing
|
||||||
|
if ! dpkg -s apt-transport-https curl ca-certificates lsb-release > /dev/null 2>&1 || ! type gpg > /dev/null 2>&1; then
|
||||||
|
apt-get-update-if-needed
|
||||||
|
apt-get -y install --no-install-recommends apt-transport-https curl ca-certificates lsb-release gnupg2
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Install Docker / Moby CLI if not already installed
|
||||||
|
if type docker > /dev/null 2>&1; then
|
||||||
|
echo "Docker / Moby CLI already installed."
|
||||||
|
else
|
||||||
|
if [ "${USE_MOBY}" = "true" ]; then
|
||||||
|
DISTRO=$(lsb_release -is | tr '[:upper:]' '[:lower:]')
|
||||||
|
CODENAME=$(lsb_release -cs)
|
||||||
|
curl -s https://packages.microsoft.com/keys/microsoft.asc | (OUT=$(apt-key add - 2>&1) || echo $OUT)
|
||||||
|
echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-${DISTRO}-${CODENAME}-prod ${CODENAME} main" > /etc/apt/sources.list.d/microsoft.list
|
||||||
|
apt-get update
|
||||||
|
apt-get -y install --no-install-recommends moby-cli moby-buildx
|
||||||
|
else
|
||||||
|
curl -fsSL https://download.docker.com/linux/$(lsb_release -is | tr '[:upper:]' '[:lower:]')/gpg | (OUT=$(apt-key add - 2>&1) || echo $OUT)
|
||||||
|
echo "deb [arch=amd64] https://download.docker.com/linux/$(lsb_release -is | tr '[:upper:]' '[:lower:]') $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list
|
||||||
|
apt-get update
|
||||||
|
apt-get -y install --no-install-recommends docker-ce-cli
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Install Docker Compose if not already installed
|
||||||
|
if type docker-compose > /dev/null 2>&1; then
|
||||||
|
echo "Docker Compose already installed."
|
||||||
|
else
|
||||||
|
LATEST_COMPOSE_VERSION=$(basename "$(curl -fsSL -o /dev/null -w "%{url_effective}" https://github.com/docker/compose/releases/latest)")
|
||||||
|
curl -fsSL "https://github.com/docker/compose/releases/download/${LATEST_COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
|
||||||
|
chmod +x /usr/local/bin/docker-compose
|
||||||
|
fi
|
||||||
|
|
||||||
|
# If init file already exists, exit
|
||||||
|
if [ -f "/usr/local/share/docker-init.sh" ]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# By default, make the source and target sockets the same
|
||||||
|
if [ "${SOURCE_SOCKET}" != "${TARGET_SOCKET}" ]; then
|
||||||
|
touch "${SOURCE_SOCKET}"
|
||||||
|
ln -s "${SOURCE_SOCKET}" "${TARGET_SOCKET}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Add a stub if not adding non-root user access, user is root
|
||||||
|
if [ "${ENABLE_NONROOT_DOCKER}" = "false" ] || [ "${USERNAME}" = "root" ]; then
|
||||||
|
echo '/usr/bin/env bash -c "\$@"' > /usr/local/share/docker-init.sh
|
||||||
|
chmod +x /usr/local/share/docker-init.sh
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# If enabling non-root access and specified user is found, setup socat and add script
|
||||||
|
chown -h "${USERNAME}":root "${TARGET_SOCKET}"
|
||||||
|
if ! dpkg -s socat > /dev/null 2>&1; then
|
||||||
|
apt-get-update-if-needed
|
||||||
|
apt-get -y install socat
|
||||||
|
fi
|
||||||
|
tee /usr/local/share/docker-init.sh > /dev/null \
|
||||||
|
<< EOF
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
#-------------------------------------------------------------------------------------------------------------
|
||||||
|
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
|
# Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information.
|
||||||
|
#-------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
SOCAT_PATH_BASE=/tmp/vscr-docker-from-docker
|
||||||
|
SOCAT_LOG=\${SOCAT_PATH_BASE}.log
|
||||||
|
SOCAT_PID=\${SOCAT_PATH_BASE}.pid
|
||||||
|
|
||||||
|
# Wrapper function to only use sudo if not already root
|
||||||
|
sudoIf()
|
||||||
|
{
|
||||||
|
if [ "\$(id -u)" -ne 0 ]; then
|
||||||
|
sudo "\$@"
|
||||||
|
else
|
||||||
|
"\$@"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Log messages
|
||||||
|
log()
|
||||||
|
{
|
||||||
|
echo -e "[\$(date)] \$@" | sudoIf tee -a \${SOCAT_LOG} > /dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
echo -e "\n** \$(date) **" | sudoIf tee -a \${SOCAT_LOG} > /dev/null
|
||||||
|
log "Ensuring ${USERNAME} has access to ${SOURCE_SOCKET} via ${TARGET_SOCKET}"
|
||||||
|
|
||||||
|
# If enabled, try to add a docker group with the right GID. If the group is root,
|
||||||
|
# fall back on using socat to forward the docker socket to another unix socket so
|
||||||
|
# that we can set permissions on it without affecting the host.
|
||||||
|
if [ "${ENABLE_NONROOT_DOCKER}" = "true" ] && [ "${SOURCE_SOCKET}" != "${TARGET_SOCKET}" ] && [ "${USERNAME}" != "root" ] && [ "${USERNAME}" != "0" ]; then
|
||||||
|
SOCKET_GID=\$(stat -c '%g' ${SOURCE_SOCKET})
|
||||||
|
if [ "\${SOCKET_GID}" != "0" ]; then
|
||||||
|
log "Adding user to group with GID \${SOCKET_GID}."
|
||||||
|
if [ "\$(cat /etc/group | grep :\${SOCKET_GID}:)" = "" ]; then
|
||||||
|
sudoIf groupadd --gid \${SOCKET_GID} docker-host
|
||||||
|
fi
|
||||||
|
# Add user to group if not already in it
|
||||||
|
if [ "\$(id ${USERNAME} | grep -E "groups.*(=|,)\${SOCKET_GID}\(")" = "" ]; then
|
||||||
|
sudoIf usermod -aG \${SOCKET_GID} ${USERNAME}
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# Enable proxy if not already running
|
||||||
|
if [ ! -f "\${SOCAT_PID}" ] || ! ps -p \$(cat \${SOCAT_PID}) > /dev/null; then
|
||||||
|
log "Enabling socket proxy."
|
||||||
|
log "Proxying ${SOURCE_SOCKET} to ${TARGET_SOCKET} for vscode"
|
||||||
|
sudoIf rm -rf ${TARGET_SOCKET}
|
||||||
|
(sudoIf socat UNIX-LISTEN:${TARGET_SOCKET},fork,mode=660,user=${USERNAME} UNIX-CONNECT:${SOURCE_SOCKET} 2>&1 | sudoIf tee -a \${SOCAT_LOG} > /dev/null & echo "\$!" | sudoIf tee \${SOCAT_PID} > /dev/null)
|
||||||
|
else
|
||||||
|
log "Socket proxy already running."
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
log "Success"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Execute whatever commands were passed in (if any). This allows us
|
||||||
|
# to set this script to ENTRYPOINT while still executing the default CMD.
|
||||||
|
set +e
|
||||||
|
exec "\$@"
|
||||||
|
EOF
|
||||||
|
chmod +x /usr/local/share/docker-init.sh
|
||||||
|
chown ${USERNAME}:root /usr/local/share/docker-init.sh
|
||||||
|
echo "Done!"
|
|
@ -33,7 +33,7 @@
|
||||||
"stopAtEntry": false,
|
"stopAtEntry": false,
|
||||||
"env": {
|
"env": {
|
||||||
"ASPNETCORE_ENVIRONMENT": "Development",
|
"ASPNETCORE_ENVIRONMENT": "Development",
|
||||||
"ASPNETCORE_URLS": "http://127.0.0.1:5100;https://127.0.0.1:5102",
|
"ASPNETCORE_URLS": "http://*:5100;https://*:5102",
|
||||||
"DAPR_HTTP_PORT": "5180",
|
"DAPR_HTTP_PORT": "5180",
|
||||||
"DAPR_GRPC_PORT": "5101"
|
"DAPR_GRPC_PORT": "5101"
|
||||||
}
|
}
|
||||||
|
@ -49,7 +49,7 @@
|
||||||
"stopAtEntry": false,
|
"stopAtEntry": false,
|
||||||
"env": {
|
"env": {
|
||||||
"ASPNETCORE_ENVIRONMENT": "Development",
|
"ASPNETCORE_ENVIRONMENT": "Development",
|
||||||
"ASPNETCORE_URLS": "http://127.0.0.1:5200",
|
"ASPNETCORE_URLS": "http://*:5200",
|
||||||
"DAPR_HTTP_PORT": "5280",
|
"DAPR_HTTP_PORT": "5280",
|
||||||
"DAPR_GRPC_PORT": "5201"
|
"DAPR_GRPC_PORT": "5201"
|
||||||
}
|
}
|
||||||
|
@ -65,7 +65,7 @@
|
||||||
"stopAtEntry": false,
|
"stopAtEntry": false,
|
||||||
"env": {
|
"env": {
|
||||||
"ASPNETCORE_ENVIRONMENT": "Development",
|
"ASPNETCORE_ENVIRONMENT": "Development",
|
||||||
"ASPNETCORE_URLS": "http://127.0.0.1:5300",
|
"ASPNETCORE_URLS": "http://*:5300",
|
||||||
"DAPR_HTTP_PORT": "5380",
|
"DAPR_HTTP_PORT": "5380",
|
||||||
"DAPR_GRPC_PORT": "5301"
|
"DAPR_GRPC_PORT": "5301"
|
||||||
}
|
}
|
||||||
|
@ -81,7 +81,7 @@
|
||||||
"stopAtEntry": false,
|
"stopAtEntry": false,
|
||||||
"env": {
|
"env": {
|
||||||
"ASPNETCORE_ENVIRONMENT": "Development",
|
"ASPNETCORE_ENVIRONMENT": "Development",
|
||||||
"ASPNETCORE_URLS": "http://127.0.0.1:5400",
|
"ASPNETCORE_URLS": "http://*:5400",
|
||||||
"DAPR_HTTP_PORT": "5480",
|
"DAPR_HTTP_PORT": "5480",
|
||||||
"DAPR_GRPC_PORT": "5401"
|
"DAPR_GRPC_PORT": "5401"
|
||||||
}
|
}
|
||||||
|
@ -97,7 +97,7 @@
|
||||||
"stopAtEntry": false,
|
"stopAtEntry": false,
|
||||||
"env": {
|
"env": {
|
||||||
"DOTNETCORE_ENVIRONMENT": "Development",
|
"DOTNETCORE_ENVIRONMENT": "Development",
|
||||||
"ASPNETCORE_URLS": "http://127.0.0.1:5500",
|
"ASPNETCORE_URLS": "http://*:5500",
|
||||||
"DAPR_HTTP_PORT": "5580",
|
"DAPR_HTTP_PORT": "5580",
|
||||||
"DAPR_GRPC_PORT": "5501",
|
"DAPR_GRPC_PORT": "5501",
|
||||||
"STORE_ID": "Redmond"
|
"STORE_ID": "Redmond"
|
||||||
|
@ -130,7 +130,7 @@
|
||||||
"stopAtEntry": false,
|
"stopAtEntry": false,
|
||||||
"env": {
|
"env": {
|
||||||
"ASPNETCORE_ENVIRONMENT": "Development",
|
"ASPNETCORE_ENVIRONMENT": "Development",
|
||||||
"ASPNETCORE_URLS": "http://127.0.0.1:5700",
|
"ASPNETCORE_URLS": "http://*:5700",
|
||||||
"DAPR_HTTP_PORT": "5780",
|
"DAPR_HTTP_PORT": "5780",
|
||||||
"DAPR_GRPC_PORT": "5701"
|
"DAPR_GRPC_PORT": "5701"
|
||||||
}
|
}
|
||||||
|
@ -146,7 +146,7 @@
|
||||||
"stopAtEntry": false,
|
"stopAtEntry": false,
|
||||||
"env": {
|
"env": {
|
||||||
"ASPNETCORE_ENVIRONMENT": "Development",
|
"ASPNETCORE_ENVIRONMENT": "Development",
|
||||||
"ASPNETCORE_URLS": "http://127.0.0.1:6700",
|
"ASPNETCORE_URLS": "http://*:6700",
|
||||||
"DAPR_HTTP_PORT": "6780",
|
"DAPR_HTTP_PORT": "6780",
|
||||||
"DAPR_GRPC_PORT": "6701"
|
"DAPR_GRPC_PORT": "6701"
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче