zoukankan      html  css  js  c++  java
  • Docker实用技巧(三):容器与主机之间的端口映射

    docker容器想要实现一些网络通信的功能,就需要端口映射,这里想实现三个目标:端口映射、多端口映射、xshell远程登陆docker容器。

    一、端口映射

    映射需要的命令是 -p 0000:0001,这里意味着宿主机的0000端口映射到了容器的0001端口,命令是在运行容器的时候加入的。

    docker run -tid --name docker_name -p 8888:8888 image:01

    这时候可能会有疑问,已经运行的容器怎么办,我现在的解决办法是:

    1. 停掉容器

    docker stop docker_name

    2. 保存容器备份

    docker commit docker_name image:01

    一般这时候我就重命名原来的老容器(变成docker_name_old),我是想新容器替换掉那个,所以保持名字一致

    docker rename docker_name docker_name_old

    3. 利用备份重新启动容器

    docker run -tid --name docker_name -p 8888:8888 image:01

    二、多端口映射

    可能有时候需要多个端口,比如ftp,比如hostlocal等等,就需要多映射,就很简单,有多少个映射就加多少个 -p 就好了:

    docker run -tid --name docker_name -p 8888:8888 -p 8080:80 -p 888:888 image:01

    三、xshell远程登陆docker容器

    只需要把宿主机闲置端口(你希望用来远程登录的端口)映射到docker的22端口即可:

    docker run -tid --name docker_name -p 8888:8888 -p 8080:80 -p 888:888 -p 8088:22 image:01

    这时候用xshell或者其他ssh工具都可以通过8088端口远程进入到容器内。

    四、其他

    --privileged=true (用来获取主机root权限)

  • 相关阅读:
    生日蜡烛
    生日蜡烛
    Angular2 and Electron
    NW.js and Electron compared
    Github发布了为桌面应用开发而生的Electron 1.0版本(HTML、CSS和JavaScript)
    哈佛——教育
    国家的强大——小学教师
    (OK)(OK) Fedora23——NS3(MANETs)——Docker(busybox)——genymotion(android)——All is OK
    (OK) ns3—genymotion—android
    android——adb shell——netcfg——get IP address
  • 原文地址:https://www.cnblogs.com/wayne-tao/p/13328658.html
Copyright © 2011-2022 走看看