欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker給容器添加新端口映射兩種方法及常用命令

 更新時間:2024年07月05日 10:47:51   作者:無間行者  
在使用Docker時容器的端口映射是一個核心概念,它允許容器與宿主機以及外部網(wǎng)絡(luò)進行通信,這篇文章主要給大家介紹了關(guān)于Docker給容器添加新端口映射兩種方法及常用命令的相關(guān)資料,需要的朋友可以參考下

前言

Docker容器創(chuàng)建后,其網(wǎng)絡(luò)配置通常是固定的,包括端口映射。基于Docker的原生工具,一旦容器啟動,就無法直接修改其端口映射。然而,有幾種方法可以解決需要對現(xiàn)有容器添加新端口映射的問題。

方法一:創(chuàng)建新容器

最直接的方法是創(chuàng)建一個新的容器,并在創(chuàng)建時指定所有需要的端口映射。這可以通過以下步驟完成:

停止當(dāng)前運行的容器:

docker stop <舊容器名或ID>

刪除舊容器(可選,但如果你想重用容器名,這是必須的):

docker rm <舊容器名或ID>

啟動一個新容器,并添加新的端口映射:

docker run -d -p <新端口>:<容器端口> --name <容器名> <其他選項> <鏡像名>

這里的<新端口>是你希望在宿主機上公開的端口,<容器端口>是容器內(nèi)部要映射的端口。

如果舊容器有持久化的數(shù)據(jù)或者特定的配置,確保在創(chuàng)建新容器時通過掛載相同的數(shù)據(jù)卷或傳遞相同的環(huán)境變量等來保留這些設(shè)置。

方法二:創(chuàng)建新容器

使用Docker Compose

如果你在使用Docker Compose來管理你的容器,修改端口映射比較簡單。你只需要在docker-compose.yml文件中更新ports部分,然后重新啟動服務(wù):

停止并移除當(dāng)前服務(wù):

docker-compose down

修改docker-compose.yml文件

修改docker-compose.yml文件中的ports部分,添加新的端口映射。

啟動服務(wù):

docker-compose up -d

這些步驟將重新創(chuàng)建服務(wù)中定義的容器,并應(yīng)用新的端口映射。

在處理端口映射問題時,請記住,重新創(chuàng)建容器可能涉及到數(shù)據(jù)遷移和配置復(fù)制,因此在執(zhí)行任何操作之前請確保數(shù)據(jù)的備份和遷移策略已經(jīng)到位。

常用命令

查看運行的容器

docker ps

查看容器掛載目錄

docker inspect [容器id]

我這里是[容器name]

停止容器

docker stop python

Warning: Stopping docker.service, but it can still be activated by:
docker.socket

停止docker服務(wù)

systemctl stop docker

進入容器掛載目錄

修改config.v2.json文件

{"StreamConfig":{},"State":{"Running":false,"Paused":false,"Restarting":false,"OOMKilled":false,"RemovalInProgress":false,"Dead":false,"Pid":0,"ExitCode":137,"Error":"","StartedAt":"2023-12-28T07:14:02.730791168Z","FinishedAt":"2024-01-03T08:05:02.667062922Z","Health":null},"ID":"8dc4d34541a0d1c92786995d75619786ac82dc1031f36918ebc4c5a9a6e2937a","Created":"2023-12-28T07:14:02.473478097Z","Managed":false,"Path":"python3","Args":[],"Config":{"Hostname":"8dc4d34541a0","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":true,"OpenStdin":true,"StdinOnce":false,"Env":["PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","LANG=C.UTF-8","GPG_KEY=E3FF2839C048B25C084DEBE9B26995E310250568","PYTHON_VERSION=3.9.18","PYTHON_PIP_VERSION=23.0.1","PYTHON_SETUPTOOLS_VERSION=58.1.0","PYTHON_GET_PIP_URL=https://github.com/pypa/get-pip/raw/4cfa4081d27285bda1220a62a5ebf5b4bd749cdb/public/get-pip.py","PYTHON_GET_PIP_SHA256=9cc01665956d22b3bf057ae8287b035827bfd895da235bcea200ab3b811790b6"],"Cmd":["python3"],"Image":"python:3.9","Volumes":null,"WorkingDir":"","Entrypoint":null,"OnBuild":null,"Labels":{}},"Image":"sha256:edb6b76b75bad04bef16fec848f73e45c0b4522d77cf389baff429081157fa1a","ImageManifest":null,"NetworkSettings":{"Bridge":"","SandboxID":"9b46c5df4c1dcd3cfbaac30fe56133a0934441bdbb550683ebf1723d196f1445","HairpinMode":false,"LinkLocalIPv6Address":"","LinkLocalIPv6PrefixLen":0,"Networks":{"bridge":{"IPAMConfig":null,"Links":null,"Aliases":null,"NetworkID":"13c59dd8b27c93fe0532208bcfc7ba050657ea0819b07b3aab3ca6f0cb41fb8a","EndpointID":"","Gateway":"","IPAddress":"","IPPrefixLen":0,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"MacAddress":"","DriverOpts":null,"IPAMOperational":false}},"Service":null,"Ports":{"80/tcp":[{"HostIp":"0.0.0.0","HostPort":"5000"}]},"SandboxKey":"/var/run/docker/netns/9b46c5df4c1d","SecondaryIPAddresses":null,"SecondaryIPv6Addresses":null,"IsAnonymousEndpoint":false,"HasSwarmEndpoint":false},"LogPath":"/var/lib/docker/containers/8dc4d34541a0d1c92786995d75619786ac82dc1031f36918ebc4c5a9a6e2937a/8dc4d34541a0d1c92786995d75619786ac82dc1031f36918ebc4c5a9a6e2937a-json.log","Name":"/python","Driver":"overlay2","OS":"linux","RestartCount":0,"HasBeenStartedBefore":true,"HasBeenManuallyStopped":true,"MountPoints":{},"SecretReferences":null,"ConfigReferences":null,"MountLabel":"","ProcessLabel":"","AppArmorProfile":"","SeccompProfile":"","NoNewPrivileges":false,"HostnamePath":"/var/lib/docker/containers/8dc4d34541a0d1c92786995d75619786ac82dc1031f36918ebc4c5a9a6e2937a/hostname","HostsPath":"/var/lib/docker/containers/8dc4d34541a0d1c92786995d75619786ac82dc1031f36918ebc4c5a9a6e2937a/hosts","ShmPath":"","ResolvConfPath":"/var/lib/docker/containers/8dc4d34541a0d1c92786995d75619786ac82dc1031f36918ebc4c5a9a6e2937a/resolv.conf","LocalLogCacheMeta":{"HaveNotifyEnabled":false}}

位置1:

"ExposedPorts":{"80/tcp":{}}

位置2:

"Ports":{"80/tcp":[{"HostIp":"0.0.0.0","HostPort":"5000"}]}

修改hostconfig.json文件

{"Binds":null,"ContainerIDFile":"","LogConfig":{"Type":"json-file","Config":{}},"NetworkMode":"default","PortBindings":{"80/tcp":[{"HostIp":"","HostPort":"5000"}]},"RestartPolicy":{"Name":"no","MaximumRetryCount":0},"AutoRemove":false,"VolumeDriver":"","VolumesFrom":null,"ConsoleSize":[22,204],"CapAdd":null,"CapDrop":null,"CgroupnsMode":"host","Dns":[],"DnsOptions":[],"DnsSearch":[],"ExtraHosts":null,"GroupAdd":null,"IpcMode":"private","Cgroup":"","Links":null,"OomScoreAdj":0,"PidMode":"","Privileged":false,"PublishAllPorts":false,"ReadonlyRootfs":false,"SecurityOpt":null,"UTSMode":"","UsernsMode":"","ShmSize":67108864,"Runtime":"runc","Isolation":"","CpuShares":0,"Memory":0,"NanoCpus":0,"CgroupParent":"","BlkioWeight":0,"BlkioWeightDevice":[],"BlkioDeviceReadBps":[],"BlkioDeviceWriteBps":[],"BlkioDeviceReadIOps":[],"BlkioDeviceWriteIOps":[],"CpuPeriod":0,"CpuQuota":0,"CpuRealtimePeriod":0,"CpuRealtimeRuntime":0,"CpusetCpus":"","CpusetMems":"","Devices":[],"DeviceCgroupRules":null,"DeviceRequests":null,"MemoryReservation":0,"MemorySwap":0,"MemorySwappiness":null,"OomKillDisable":false,"PidsLimit":null,"Ulimits":null,"CpuCount":0,"CpuPercent":0,"IOMaximumIOps":0,"IOMaximumBandwidth":0,"MaskedPaths":["/proc/asound","/proc/acpi","/proc/kcore","/proc/keys","/proc/latency_stats","/proc/timer_list","/proc/timer_stats","/proc/sched_debug","/proc/scsi","/sys/firmware","/sys/devices/virtual/powercap"],"ReadonlyPaths":["/proc/bus","/proc/fs","/proc/irq","/proc/sys","/proc/sysrq-trigger"]}

位置1:

"PortBindings":{"80/tcp":[{"HostIp":"","HostPort":"5000"}]}

重啟容器

systemctl start docker

啟動容器

docker start python

總結(jié) 

到此這篇關(guān)于Docker給容器添加新端口映射兩種方法及常用命令的文章就介紹到這了,更多相關(guān)Docker容器添加新端口映射內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker + Nodejs + Kafka + Redis + MySQL搭建簡單秒殺環(huán)境

    Docker + Nodejs + Kafka + Redis + MySQL搭建簡單秒殺環(huán)境

    本文給大家分享的是使用Docker + Nodejs + Kafka + Redis + MySQL模擬搭建起來的商品秒殺環(huán)境,非常的實用和熱門,有需要的小伙伴可以參考下
    2017-01-01
  • docker?registry?私有倉庫的搭建過程

    docker?registry?私有倉庫的搭建過程

    這篇文章主要介紹了docker?registry?私有倉庫,私有倉庫最常用的就是Registry、Harbor兩種,那接下來詳細(xì)介紹如何搭建registry私有倉庫,感興趣的朋友跟隨小編一起看看吧
    2022-01-01
  • 輕量級對象存儲服務(wù)minio安裝及瀏覽器使用教程

    輕量級對象存儲服務(wù)minio安裝及瀏覽器使用教程

    本次介紹了minio的安裝及瀏覽器中的簡單使用,對輕量級對象存儲服務(wù)minio安裝及使用教程感興趣的朋友一起看看吧
    2021-10-10
  • Windows Docker 部署 SolrCloud的方法步驟

    Windows Docker 部署 SolrCloud的方法步驟

    本文主要介紹了Windows Docker 部署 SolrCloud的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-10-10
  • 教你如何將應(yīng)用從docker-compose遷移到k8s中

    教你如何將應(yīng)用從docker-compose遷移到k8s中

    這篇文章主要介紹了如何將應(yīng)用從docker-compose遷移到k8s中,本文給大家分享一個專門的遷移工具,可方便地通過docker-compose.yaml自動生成k8s的yaml部署文件,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • Linux/Docker 中使用 System.Drawing.Common 踩坑記錄分享

    Linux/Docker 中使用 System.Drawing.Common 踩坑記錄分享

    這篇文章主要介紹了Linux/Docker 中使用 System.Drawing.Common 踩坑記錄,本文通過兩種方案給大家詳細(xì)介紹,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • Docker鏡像構(gòu)建之docker commit的使用

    Docker鏡像構(gòu)建之docker commit的使用

    本文主要介紹了Docker鏡像構(gòu)建之docker commit的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • docker compose入門helloworld的詳細(xì)過程

    docker compose入門helloworld的詳細(xì)過程

    docker-compose是基于docker的,所以我們需要先安裝docker才能使用docker-compose,接下來通過本文給大家介紹docker compose入門helloworld的過程,一起看看吧
    2021-09-09
  • 關(guān)于docker無法正常下載鏡像的問題小結(jié)

    關(guān)于docker無法正常下載鏡像的問題小結(jié)

    之前還可以正常下載鏡像,但是一段時間之后就無法下載了,猜測可能是政治原因,無法連接到國外服務(wù)器,所以我設(shè)置了阿里云的鏡像加速器,需要的朋友可以參考下
    2024-06-06
  • Docker-compose一鍵部署gitlab中文版的方法步驟

    Docker-compose一鍵部署gitlab中文版的方法步驟

    這篇文章主要介紹了Docker-compose一鍵部署gitlab中文版的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12

最新評論