Phala Network Docs
  • Home
    • πŸ‘ΎPhala Network Docs
  • Overview
    • βš–οΈPhala Network
      • πŸ’ŽPhala Cloud
      • πŸ₯·Dstack
      • πŸ”GPU TEE
    • πŸ’ŽPHA Token
      • πŸͺ™Introduction
      • πŸ‘Delegation
        • Delegate to StakePool
        • What is Vault
        • What is Share
        • WrappedBalances & W-PHA
        • Examples of Delegation
        • Use Phala App to Delegate
        • Estimate Your Reward
      • πŸ—³οΈGovernance
        • Governance Mechanism
        • Join the Council
        • Voting for Councillors
        • Apply for Project Funding
        • Phala Treasury
        • Phala Governance
        • Setting Up an Account Identity
  • Phala Cloud
    • πŸš€Getting Started
      • Create Your Phala Cloud Account
      • Your First CVM Deployment
      • Explore Templates
        • Launch an Eliza Agent
        • Start from Template
    • πŸͺ¨TEEs, Attestation & Zero Trust Security
      • Attestation
      • Security Architecture
    • πŸ₯·Phala Cloud User Guides
      • Deploy and Manage CVMs
        • Deploy CVM with Docker Compose
        • Set Secure Environment Variables
        • Deploy Private Docker Image to CVM
        • Debugging and Analyzing Logs
          • Check Logs
          • Private Log Viewer
          • Debug Your Application
        • Application Scaling & Resource Management
        • Upgrade Application
        • Deployment Cheat Sheet
      • Building with TEE
        • Access Your Applications
        • Expose Service Port
        • Setting Up Custom Domain
        • Secure Access Database
        • Create Crypto Wallet
        • Generate Remote Attestation
      • Advanced Deployment Options
        • Deploy CVM with Phala Cloud CLI
        • Deploy CVM with Phala Cloud API
        • Setup a CI/CD Pipeline
    • 🚒Be Production Ready
      • CI/CD Automation
        • Setup a CI/CD Pipeline
      • Production Checklist
      • Troubleshooting Guide
      • Glossary
    • πŸ”’Use Cases
      • TEE with AI
      • TEE with FHE and MPC
      • TEE with ZK and ZKrollup
    • πŸ“‹References
      • Phala Cloud CLI Reference
        • phala
          • auth
          • cvms
          • docker
          • simulator
      • Phala Cloud API & SDKs
        • API Endpoints & Examples
        • SDKs and Integrations
      • Phala Cloud Pricing
    • ❓FAQs
  • Dstack
    • Overview
    • Getting Started
    • Hardware Requirements
    • Design Documents
      • Decentralized Root-of-Trust
      • Key Management Service
      • Zero Trust HTTPs (TLS)
    • Acknowledgement
  • LLM in GPU TEE
    • πŸ‘©β€πŸ’»Host LLM in GPU TEE
    • πŸ”GPU TEE Inference API
    • 🏎️GPU TEE Benchmark
  • Tech Specs
    • ⛓️Blockchain
      • Blockchain Entities
      • Cluster of Workers
      • Secret Key Hierarchy
  • References
    • πŸ”Setting Up a Wallet on Phala
      • Acquiring PHA
    • πŸŒ‰SubBridge
      • Cross-chain Transfer
      • Supported Assets
      • Asset Integration Guide
      • Technical Details
    • πŸ‘·Community Builders
    • 🀹Hackathon Guides
      • ETHGlobal Singapore
      • ETHGlobal San Francisco
      • ETHGlobal Bangkok
    • 🀯Advanced Topics
      • Cross Chain Solutions
      • System Contract and Drivers
      • Run Local Testnet
      • SideVM
    • πŸ†˜Support
      • Available Phala Chains
      • Resource Limits
      • Transaction Costs
      • Compatibility Matrix
      • Block Explorers
      • Faucet
    • ⁉️FAQ
  • Compute Providers
    • πŸ™ƒBasic Info
      • Introduction
      • Gemini Tokenomics (Worker Rewards)
      • Budget balancer
      • Staking Mechanism
      • Requirements in Phala
      • Confidence Level & SGX Function
      • Rent Hardware
      • Error Summary
    • 🦿Run Workers on Phala
      • Solo Worker Deployment
      • PRBv3 Deployment
      • Using PRBv3 UI
      • PRB Worker Deployment
      • Switch Workers from Solo to PRB Mode
      • Headers-cache deployment
      • Archive node deployment
    • πŸ›‘οΈGatekeeper
      • Collator
      • Gatekeeper
  • Web Directory
    • Discord
    • GitHub
    • Twitter
    • YouTube
    • Forum
    • Medium
    • Telegram
Powered by GitBook
LogoLogo

Participate

  • Compute Providers
  • Node
  • Community
  • About Us

Resources

  • Technical Whitepaper
  • Token Economics
  • Docs
  • GitHub

More

  • Testnet
  • Explorer
  • Careers
  • Responsible Disclosure

COPYRIGHT Β© 2024 PHALA.LTD ALL RIGHTS RESERVED. May Phala be with you!

On this page

Was this helpful?

Edit on GitHub
  1. Phala Cloud
  2. Phala Cloud User Guides
  3. Building with TEE

Expose Service Port

PreviousAccess Your ApplicationsNextSetting Up Custom Domain

Last updated 4 days ago

Was this helpful?

In Docker, you can specify the HTTP ports you want to expose by using the format HOST_PORT:CONTAINER_PORT. This configuration forwards requests sent to HOST_PORT to the container’s program listening on CONTAINER_PORT.

When deploying your Docker program to Phala Cloud, the process remains the same. You should specify the port mapping in the Docker Compose file using the ports field, as shown below, we expose the port 8000 to the port 80 on the host for httpbin service and the port 8001 to the port 5432 on the host for postgres service.

services:
  httpbin:
    image: kennethreitz/httpbin:latest
    ports:
      - "8000:80"

  db:
    image: postgres
    ports:
      - "8001:5432"
    environment:
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}

The environment variable value need to be set through Secure Environment Variables in the dashboard. Here we set the POSTGRES_PASSWORD to postgres.

After deployment, you will see two public endpoints on the dashboard, one for httpbin service and the other for postgres service. These URLs can be used to publicly access the service running in Docker. Behind the scenes, our service parses the Docker Compose file and automatically configures the network forwarding.

If you can access the service, it means you've successfully deployed your existing Docker application into a TEE. Next step is to generate a RA report to prove the integrity of your application.

πŸ₯·
configuring port publishing
network-page