2024-04-25 16:14:00 +02:00
<!doctype html>
< html lang = "en" dir = "ltr" class = "docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-guides/docker-share/index" data-has-hydrated = "false" >
< head >
< meta charset = "UTF-8" >
2024-05-24 16:33:15 +02:00
< meta name = "generator" content = "Docusaurus v3.3.2" >
2024-04-25 16:14:00 +02:00
< title data-rh = "true" > Getting Started with Docker | Zrok< / title > < meta data-rh = "true" name = "viewport" content = "width=device-width,initial-scale=1" > < meta data-rh = "true" name = "twitter:card" content = "summary_large_image" > < meta data-rh = "true" property = "og:url" content = "https://docs.zrok.io/docs/guides/docker-share/" > < meta data-rh = "true" property = "og:locale" content = "en" > < meta data-rh = "true" name = "docusaurus_locale" content = "en" > < meta data-rh = "true" name = "docsearch:language" content = "en" > < meta data-rh = "true" name = "docusaurus_version" content = "current" > < meta data-rh = "true" name = "docusaurus_tag" content = "docs-default-current" > < meta data-rh = "true" name = "docsearch:version" content = "current" > < meta data-rh = "true" name = "docsearch:docusaurus_tag" content = "docs-default-current" > < meta data-rh = "true" property = "og:title" content = "Getting Started with Docker | Zrok" > < meta data-rh = "true" name = "description" content = "Overview" > < meta data-rh = "true" property = "og:description" content = "Overview" > < link data-rh = "true" rel = "icon" href = "/img/space-ziggy.png" > < link data-rh = "true" rel = "canonical" href = "https://docs.zrok.io/docs/guides/docker-share/" > < link data-rh = "true" rel = "alternate" href = "https://docs.zrok.io/docs/guides/docker-share/" hreflang = "en" > < link data-rh = "true" rel = "alternate" href = "https://docs.zrok.io/docs/guides/docker-share/" hreflang = "x-default" > < link data-rh = "true" rel = "preconnect" href = "https://CO73R59OLO-dsn.algolia.net" crossorigin = "anonymous" > < link rel = "preconnect" href = "https://www.googletagmanager.com" >
< script > window . dataLayer = window . dataLayer || [ ] < / script >
< script > ! function ( e , t , a , n , g ) { e [ n ] = e [ n ] || [ ] , e [ n ] . push ( { "gtm.start" : ( new Date ) . getTime ( ) , event : "gtm.js" } ) ; var m = t . getElementsByTagName ( a ) [ 0 ] , r = t . createElement ( a ) ; r . async = ! 0 , r . src = "https://www.googletagmanager.com/gtm.js?id=GTM-MDFLZPK8" , m . parentNode . insertBefore ( r , m ) } ( window , document , "script" , "dataLayer" ) < / script >
2024-05-24 16:33:15 +02:00
< link rel = "search" type = "application/opensearchdescription+xml" title = "Zrok" href = "/opensearch.xml" > < link rel = "stylesheet" href = "/assets/css/styles.44f28847.css" >
2024-07-31 19:39:55 +02:00
< script src = "/assets/js/runtime~main.ad0ba528.js" defer = "defer" > < / script >
2024-07-25 19:54:33 +02:00
< script src = "/assets/js/main.919bd9e8.js" defer = "defer" > < / script >
2024-04-25 16:14:00 +02:00
< / head >
< body class = "navigation-with-keyboard" >
< noscript > < iframe src = "https://www.googletagmanager.com/ns.html?id=GTM-MDFLZPK8" height = "0" width = "0" style = "display:none;visibility:hidden" > < / iframe > < / noscript >
2024-05-24 16:33:15 +02:00
< script > ! function ( ) { function t ( t ) { document . documentElement . setAttribute ( "data-theme" , t ) } var e = function ( ) { try { return new URLSearchParams ( window . location . search ) . get ( "docusaurus-theme" ) } catch ( t ) { } } ( ) || function ( ) { try { return localStorage . getItem ( "theme" ) } catch ( t ) { } } ( ) ; t ( null !== e ? e : "dark" ) } ( ) , function ( ) { try { const c = new URLSearchParams ( window . location . search ) . entries ( ) ; for ( var [ t , e ] of c ) if ( t . startsWith ( "docusaurus-data-" ) ) { var a = t . replace ( "docusaurus-data-" , "data-" ) ; document . documentElement . setAttribute ( a , e ) } } catch ( t ) { } } ( ) < / script > < div id = "__docusaurus" > < div role = "region" aria-label = "Skip to main content" > < a class = "skipToContent_fXgn" href = "#__docusaurus_skipToContent_fallback" > Skip to main content< / a > < / div > < nav aria-label = "Main" class = "navbar navbar--fixed-top" > < div class = "navbar__inner" > < div class = "navbar__items" > < button aria-label = "Toggle navigation bar" aria-expanded = "false" class = "navbar__toggle clean-btn" type = "button" > < svg width = "30" height = "30" viewBox = "0 0 30 30" aria-hidden = "true" > < path stroke = "currentColor" stroke-linecap = "round" stroke-miterlimit = "10" stroke-width = "2" d = "M4 7h22M4 15h22M4 23h22" > < / path > < / svg > < / button > < a href = "https://zrok.io" target = "_self" rel = "noopener noreferrer" class = "navbar__brand" > < div class = "navbar__logo" > < img src = "/img/space-ziggy.png" alt = "Ziggy Goes to Space" class = "themedComponent_mlkZ themedComponent--light_NVdE" > < img src = "/img/space-ziggy.png" alt = "Ziggy Goes to Space" class = "themedComponent_mlkZ themedComponent--dark_xIcU" > < / div > < b class = "navbar__title text--truncate" > zrok< / b > < / a > < / div > < div class = "navbar__items navbar__items--right" > < a aria-current = "page" class = "navbar__item navbar__link navbar__link--active" href = "/docs/getting-started/" > Docs< / a > < a href = "https://github.com/orgs/openziti/projects/16" target = "_blank" rel = "noopener noreferrer" class = "navbar__item navbar__link" > Roadmap< svg width = "13.5" height = "13.5" aria-hidden = "true" viewBox = "0 0 24 24" class = "iconExternalLink_nPIU" > < path fill = "currentColor" d = "M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z" > < / path > < / svg > < / a > < a href = "https://github.com/openziti/zrok" target = "_blank" rel = "noopener noreferrer" class = "navbar__item navbar__link" > GitHub< svg width = "13.5" height = "13.5" aria-hidden = "true" viewBox = "0 0 24 24" class = "iconExternalLink_nPIU" > < path fill = "currentColor" d = "M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z" > < / path > < / svg > < / a > < div class = "toggle_vylO colorModeToggle_DEke" > < button class = "clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type = "button" disabled = "" title = "Switch between dark and light mode (currently dark mode)" aria-label = "Switch between dark and light mode (currently dark mode)" aria-live = "polite" > < svg viewBox = "0 0 24 24" width = "24" height = "24" class = "lightToggleIcon_pyhR" > < path fill = "currentColor" d = "M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z" > < / path > < / svg > < svg viewBox = "0 0 24 24" width = "24" height = "24" class = "darkToggleIcon_wfgR" > < path fill = "currentColor" d = "M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0
2024-04-25 16:14:00 +02:00
< p > To follow the guides in this section you will need < a href = "https://docs.docker.com/get-docker/" target = "_blank" rel = "noopener noreferrer" > Docker< / a > .< / p >
< p > You have the option to enable a < code > zrok< / code > account on the Docker host and mount it on the container or you can use the provided Docker Compose project files (< code > compose.yml< / code > ) to enable a separate < code > zrok< / code > environment for each project.< / p >
< p > This page provides < code > docker< / code > and < code > docker compose< / code > examples of mounting the host' s < code > zrok< / code > environment on the container. You' ll need to first < a href = "/docs/getting-started/#installing-the-zrok-command" > enable zrok on the Docker host< / a > to use this approach.< / p >
2024-05-24 16:33:15 +02:00
< h2 class = "anchor anchorWithStickyNavbar_LWe7" id = "permanent-public-share" > Permanent Public Share< a href = "#permanent-public-share" class = "hash-link" aria-label = "Direct link to Permanent Public Share" title = "Direct link to Permanent Public Share" > < / a > < / h2 >
2024-04-25 16:14:00 +02:00
< p > Let' s say you have a < code > compose.yml< / code > file that defines a web app known within the project' s bridge network as < code > https://myapp:8080< / code > and you want to publish it as a reliable, public site.< / p >
< ol >
< li >
< p > Reserve a subdomain by running < code > zrok reserve public --unique-name " myapp" https://myapp:8080< / code > on the Docker host.< / p >
< / li >
< li >
< p > Merge this YAML with < code > compose.yml< / code > or save it in the same directory as < code > compose.override.yml< / code > to let < code > docker compose up< / code > merge it for you.< / p >
< div class = "language-yaml codeBlockContainer_Ckt0 theme-code-block" style = "--prism-color:#F8F8F2;--prism-background-color:#282A36" > < div class = "codeBlockContent_biex" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock_bY9V thin-scrollbar" style = "color:#F8F8F2;background-color:#282A36" > < code class = "codeBlockLines_e6Vv" > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token key atrule" > services< / span > < span class = "token punctuation" style = "color:rgb(248, 248, 242)" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > < / span > < span class = "token key atrule" > zrok< / span > < span class = "token punctuation" style = "color:rgb(248, 248, 242)" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > < / span > < span class = "token key atrule" > image< / span > < span class = "token punctuation" style = "color:rgb(248, 248, 242)" > :< / span > < span class = "token plain" > openziti/zrok< / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > < / span > < span class = "token key atrule" > restart< / span > < span class = "token punctuation" style = "color:rgb(248, 248, 242)" > :< / span > < span class = "token plain" > unless< / span > < span class = "token punctuation" style = "color:rgb(248, 248, 242)" > -< / span > < span class = "token plain" > stopped< / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > < / span > < span class = "token key atrule" > user< / span > < span class = "token punctuation" style = "color:rgb(248, 248, 242)" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:rgb(255, 121, 198)" > " ${UID}" < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > < / span > < span class = "token key atrule" > volumes< / span > < span class = "token punctuation" style = "color:rgb(248, 248, 242)" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:rgb(248, 248, 242)" > -< / span > < span class = "token plain" > $< / span > < span class = "token punctuation" style = "color:rgb(248, 248, 242)" > {< / span > < span class = "token plain" > HOME< / span > < span class = "token punctuation" style = "color:rgb(248, 248, 242)" > }< / span > < span class = "token plain" > /.zrok< / span > < span class = "token punctuation" style = "color:rgb(248, 248, 242)" > :< / span > < span class = "token plain" > /.zrok< / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > < / span > < span class = "token key atrule" > environment< / span > < span class = "token punctuation" style = "color:rgb(248, 248, 242)" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > < / span > < span class = "token key atrule" > PFXLOG_NO_JSON< / span > < span class = "token punctuation" style = "color:rgb(248, 248, 242)" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:rgb(255, 121, 198)" > " true" < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > < / span > < span class = "token key atrule" > command< / span > < span class = "token punctuation" style = "color:rgb(248, 248, 242)" > :< / span > < span class = "token plain" > share reserved " myapp" < / span > < span class = "token punctuation" style = "color:rgb(248, 248, 242)" > -< / span > < span class = "token punctuation" style = "color:rgb(248, 248, 242)" > -< / span > < span class = "token plain" > headless< / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup__atx" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_eSgA" aria-hidden = "true" > < svg viewBox = "0 0 24 24" class = "copyButtonIcon_y97N" > < path fill = "currentColor" d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg viewBox = "0 0 24 24" class = "copyButtonSuccessIc
< / li >
< / ol >
< p > The reserved share will be available at < code > https://myapp.share.zrok.io< / code > each time the < code > zrok< / code > container starts up.< / p >
< h2 class = "anchor anchorWithStickyNavbar_LWe7" id = "temporary-public-share" > Temporary Public Share< a href = "#temporary-public-share" class = "hash-link" aria-label = "Direct link to Temporary Public Share" title = "Direct link to Temporary Public Share" > < / a > < / h2 >
< p > Let' s say you have a web server running on the host' s private network at < code > https://10.11.12.13:8080< / code > . With one additional < code > docker< / code > command, you can share the web server publicly as long as the < code > zrok< / code > container stays running.< / p >
< div class = "language-bash codeBlockContainer_Ckt0 theme-code-block" style = "--prism-color:#F8F8F2;--prism-background-color:#282A36" > < div class = "codeBlockTitle_Ktv7" > BASH< / div > < div class = "codeBlockContent_biex" > < pre tabindex = "0" class = "prism-code language-bash codeBlock_bY9V thin-scrollbar" style = "color:#F8F8F2;background-color:#282A36" > < code class = "codeBlockLines_e6Vv" > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > docker run \< / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > --rm \< / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > --network=host \< / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > --volume ~/.zrok:/.zrok \< / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > --user " ${UID}" \< / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > openziti/zrok share public \< / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > --headless \< / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > https://10.11.12.13:8080< / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup__atx" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_eSgA" aria-hidden = "true" > < svg viewBox = "0 0 24 24" class = "copyButtonIcon_y97N" > < path fill = "currentColor" d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg viewBox = "0 0 24 24" class = "copyButtonSuccessIcon_LjdS" > < path fill = "currentColor" d = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" > < / path > < / svg > < / span > < / button > < / div > < / div > < / div >
< details class = "details_lb9f alert alert--info details_b_Ee" data-collapsed = "true" > < summary > PowerShell< / summary > < div > < div class = "collapsibleContent_i85q" > < div class = "language-powershell codeBlockContainer_Ckt0 theme-code-block" style = "--prism-color:#F8F8F2;--prism-background-color:#282A36" > < div class = "codeBlockContent_biex" > < pre tabindex = "0" class = "prism-code language-powershell codeBlock_bY9V thin-scrollbar" style = "color:#F8F8F2;background-color:#282A36" > < code class = "codeBlockLines_e6Vv" > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > docker.exe run `< / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > --rm `< / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > --network " host" `< / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > --volume " ${env:USERPROFILE}\.zrok:/.zrok" `< / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > --user " 1000" `< / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > openziti/zrok share public `< / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > --headless `< / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > https://10.11.12.13:8080< / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup__atx" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_eSgA" aria-hidden = "true" > < svg viewBox = "0 0 24 24" class = "copyButtonIcon_y97N" > < path fill = "currentColor" d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg viewBox = "0 0 24 24" class = "copyButtonSuccessIcon_LjdS" > < path fill = "currentColor" d = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" > < / path > < / svg > < / span > < / button > < / div > < / div > < / div > < / div > < / div > < / details >
< details class = "details_lb9f alert alert--info details_b_Ee" data-collapsed = "true" > < summary > Command Prompt (batch)< / summary > < div > < div class = "collapsibleContent_i85q" > < div class = "language-cmd codeBlockContainer_Ckt0 theme-code-block" style = "--prism-color:#F8F8F2;--prism-background-color:#282A36" > < div class = "codeBlockContent_biex" > < pre tabindex = "0" class = "prism-code language-cmd codeBlock_bY9V thin-scrollbar" style = "color:#F8F8F2;background-color:#282A36" > < code class = "codeBlockLines_e6Vv" > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > docker.exe run ^< / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > --rm ^< / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > --network " host" ^< / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > --volume " %USERPROFILE%\.zrok:/.zrok" ^< / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > --user " 1000" ^< / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > openziti/zrok share public ^< / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > --headless ^< / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > https://10.11.12.13:8080< / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup__atx" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_eSgA" aria-hidden = "true" > < svg viewBox = "0 0 24 24" class = "copyButtonIcon_y97N" > < path fill = "currentColor" d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg viewBox = "0 0 24 24" class = "copyButtonSuccessIcon_LjdS" > < path fill = "currentColor" d = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" > < / path > < / svg > < / span > < / button > < / div > < / div > < / div > < / div > < / div > < / details >
< details class = "details_lb9f alert alert--info details_b_Ee" data-collapsed = "true" > < summary > Windows Subsystem for Linux (WSL)< / summary > < div > < div class = "collapsibleContent_i85q" > < div class = "language-bash codeBlockContainer_Ckt0 theme-code-block" style = "--prism-color:#F8F8F2;--prism-background-color:#282A36" > < div class = "codeBlockContent_biex" > < pre tabindex = "0" class = "prism-code language-bash codeBlock_bY9V thin-scrollbar" style = "color:#F8F8F2;background-color:#282A36" > < code class = "codeBlockLines_e6Vv" > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > docker run \< / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > --rm \< / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > --network " host" \< / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > --volume " /mnt/c/Users/$(powershell.exe -Command ' Write-Output $env:USERNAME' | tr -d ' \r' )/.zrok:/.zrok" \< / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > --user " $UID" \< / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > openziti/zrok share public \< / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > --headless \< / span > < br > < / span > < span class = "token-line" style = "color:#F8F8F2" > < span class = "token plain" > https://10.11.12.13:8080< / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup__atx" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_eSgA" aria-hidden = "true" > < svg viewBox = "0 0 24 24" class = "copyButtonIcon_y97N" > < path fill = "currentColor" d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg viewBox = "0 0 24 24" class = "copyButtonSuccessIcon_LjdS" > < path fill = "currentColor" d = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" > < / path > < / svg > < / span > < / button > < / div > < / div > < / div > < / div > < / div > < / details >
< p > The public share URL appears near the beginning of the container' s log.< / p >
< p > Let' s break down those options and arguments.< / p >
< ol >
< li > < code > --rm< / code > don' t save this container because it' s providing a temporary public share that' s destroyed when the container stops< / li >
< li > < code > --network=host< / code > shares the host' s network with the container so that the container can reach the web server directly. This is always necessary when the web server is listening only on the host' s loopback interface, e.g., < code > https://::1:8080< / code > , and may not be strictly necessary if the target is routeable from the default Docker bridge.< / li >
< li > < code > --volume ~/.zrok:/.zrok< / code > mounts the < code > zrok< / code > configuration from the Docker host into the container.< / li >
< li > < code > --user " ${UID}:${GID}" < / code > sets the container' s user to the current user on the Docker host to avoid permission issues with reading the mounted < code > zrok< / code > configuration.< / li >
< li > < code > openziti/zrok< / code > is the < code > zrok< / code > Docker image.< / li >
< li > < code > share public< / code > is the < code > zrok< / code > command to share the target publicly until zrok exits.< / li >
< li > < code > --headless< / code > runs the < code > zrok< / code > command without the interactive terminal UI.< / li >
< li > < code > https://10.11.12.13:8080< / code > is the target web server to share.< / li >
2024-05-24 16:33:15 +02:00
< / ol > < / div > < footer class = "theme-doc-footer docusaurus-mt-lg" > < div class = "row margin-top--sm theme-doc-footer-edit-meta-row" > < div class = "col" > < a href = "https://github.com/openziti/zrok/blob/main/docs/../docs/guides/docker-share/index.mdx" target = "_blank" rel = "noopener noreferrer" class = "theme-edit-this-page" > < svg fill = "currentColor" height = "20" width = "20" viewBox = "0 0 40 40" class = "iconEdit_Z9Sw" aria-hidden = "true" > < g > < path d = "m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z" > < / path > < / g > < / svg > Edit this page< / a > < / div > < div class = "col lastUpdated_JAkA" > < / div > < / div > < / footer > < / article > < nav class = "pagination-nav docusaurus-mt-lg" aria-label = "Docs pages" > < a class = "pagination-nav__link pagination-nav__link--prev" href = "/docs/guides/permission-modes/" > < div class = "pagination-nav__sublabel" > Previous< / div > < div class = "pagination-nav__label" > Permission Modes< / div > < / a > < a class = "pagination-nav__link pagination-nav__link--next" href = "/docs/guides/docker-share/docker_public_share_guide/" > < div class = "pagination-nav__sublabel" > Next< / div > < div class = "pagination-nav__label" > Public Share< / div > < / a > < / nav > < / div > < / div > < div class = "col col--3" > < div class = "tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop" > < ul class = "table-of-contents table-of-contents__left-border" > < li > < a href = "#overview" class = "table-of-contents__link toc-highlight" > Overview< / a > < / li > < li > < a href = "#permanent-public-share" class = "table-of-contents__link toc-highlight" > Permanent Public Share< / a > < / li > < li > < a href = "#temporary-public-share" class = "table-of-contents__link toc-highlight" > Temporary Public Share< / a > < / li > < / ul > < / div > < / div > < / div > < / div > < / main > < / div > < / div > < / div > < footer class = "footer footer--dark" > < div class = "container container-fluid" > < div class = "footer__bottom text--center" > < div class = "footer__copyright" > Copyright © 2024 NetFoundry Inc. Built with Docusaurus.< / div > < / div > < / div > < / footer > < / div >
2024-04-25 16:14:00 +02:00
< / body >
< / html >