首页 > 其他分享 >Docker容器添加映射端口

Docker容器添加映射端口

时间:2023-06-16 19:05:42浏览次数:57  
标签:容器 映射 宿主机 端口 镜像 Docker docker

一般在运行容器时,都会通过-p来指定宿主机和容器端口的映射,例如:

docker run -itd -p 本地端口:容器内端口 所用镜像名
参数说明
-d 表示后台运行容器
-t 为docker分配一个伪终端并绑定到容器的标准输入上
-i 是让容器的标准输入保持打开状态
-p 指定映射端口

即创建容器时,可以设置一个端口来进行宿主机和容器之间端口的映射,比如外边的8080与容器内的22进行映射后,那你可以使用 宿主机IP:8080 在xshell进行连接容器了

方式一

直接给容器停了,然后把这个容器打包成镜像,然后使用这个镜像重新开启新的容器,开启的时候加上新添加的端口,将现有的容器打包成镜像,然后在使用新的镜像运行容器是重新指定要映射的端口。

实操如下:

停止容器
docker stop 容器名字或者编号
将容器打包成镜像
docker commit 容器名字或者编号  你想起的镜像名字
用新镜像开启新容器
docker run -itd --name 你起的容器名 -p 外边的端口:容器内端口 -p 外边的端口:容器内的端口... 刚才的镜像名

方式二 

修改容器的配置文件

若该容器还在运行,先停掉
docker stop 容器ID
停掉docker服务
systemctl stop docker
查看容器信息:
docker ps -a
查看容器的端口映射情况,在容器外执行:
docker port 容器ID或者容器名称
查找要修改容器的容器Id(当然你也可以直接通过docker ps -a查看)
docker inspect 容器Id | grep Id
进到/var/lib/docker/containers 目录下找到与 Id 相同的目录,修改 hostconfig.json 和 config.v2.json文件:
cd /var/lib/docker/containers/容器Id
vim hostconfig.json
外部端口是10000,容器内部端口是50070
"50070/tcp": [{"HostIp": "","HostPort": "10000"}]


重新启动docker
systemctl start docker

查看端口是否绑定成功
docker ps -a

当然你也可以用这个命令来查看宿主机和容器之间的端口是否映射成功
netstat -an | grep 宿主机的映射端口
如果有进程存在则表示有映射

标签:容器,映射,宿主机,端口,镜像,Docker,docker
From: https://blog.51cto.com/u_11315052/6501608

相关文章

  • 银河麒麟操作系统 v10 中离线安装 docker 环境
    #查看系统版本cat/etc/os-release#查看Linux内核版本(3.10以上)uname-r#查看iptabls版本(1.4以上)iptables--version#判断处理器架构uname-p#在此下载https://download.docker.com/linux/static/stable/#解压文件tar-zxvfdocker-23.0.1.tgz#移动到安装目录mv......
  • Docker部署jenkins
    先删除系统docker相关的依赖yumremovedocker\docker-client\docker-client-latest\docker-common\docker-latest\docker-latest-logrotate\docker-l......
  • CKS 考试题整理 (10)-Dockerfile检测
    Task分析和编辑给定的Dockerfile/cks/docker/Dockerfile(基于ubuntu:16.04镜像),并修复在文件中拥有的突出的安全/最佳实践问题的两个指令。 分析和编辑给定的清单文件/cks/docker/deployment.yaml,并修复在文件中拥有突出的安全/最佳实践问题的两个字段。 注意:请勿添加......
  • docker从外网环境迁移到内网环境
    1.离线安装docker##下载docker.tar.gz,解压安装tar-zxvfdocker.tar.gz##配置为系统服务##默认配置文件/etc/docker/daemon.json不可编辑时,指定配置文件启动dockerd--config-file/data/bonc_zj/app/conf/daemon.json&2.Dockerfile中添加nginx的依赖包##具备......
  • docker 设置国内镜像源
    一、国内加速地址1.Docker中国区官方镜像https://registry.docker-cn.com2.网易http://hub-mirror.c.163.com3.ustchttps://docker.mirrors.ustc.edu.cn4.中国科技大学https://docker.mirrors.ustc.edu.cn5.阿里云容器生成自己的加速地址登录:cr.console.aliyun.com点击“......
  • docker
     ......
  • docker compose启动目录
    目的对于使用dockercompose启动的容器,我们可以使用命令诊断其启动的目录。 方法song@song-VirtualBox:~$dockerpsCONTAINERID  IMAGE                            COMMAND                 CREATED      STA......
  • 服务器22端口没有对外开放,那使用ping命令还能通吗
       `ping`命令是基于ICMP协议的网络诊断工具,主要用于测试网络通信是否正常以及测量数据包往返时间等。它并不依赖于任何端口开放与否的情况,因此即使你的服务器的22端口没有对外开放,使用`ping`命令一样可以进行网络通信测试。当你使用`ping`命令测试某个服务器时,它会发......
  • 云原生之使用Docker部署kkFileView在线文档管理平台
    (云原生之使用Docker部署kkFileView在线文档管理平台)一、kkFileView介绍1.kkFileView简介kkFileView是一个开源在线文档工具,使用springboot打造文件文档在线预览项目解决方案,支持doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4、mp3以及众多类文本如txt、html、xml、java、......
  • 同步盘换端10080和10081端口
    common.ini中添加ShareWebWindowsServerPort=10090ShareWebWindowsClientPort=10091[Global]loginmode=0autorun=1clearcache=0syncingtips=0cachepath=lastserver=b4cc451bdac94e731ed35882797f371ehideselectdirpage=0shellIconNeedRename=0RegNameLocalSync="......