广告
返回顶部
首页 > 资讯 > 精选 >docker学习5:Docker 容器连接
  • 274
分享到

docker学习5:Docker 容器连接

2023-06-06 03:06:25 274人浏览 安东尼
摘要

参考:Http://www.runoob.com/Docker/docker-container-connection.html前面我们实现了通过网络端口来访问运行在docker容器内的服务。下面我们来实现通过端口连接到一个docker容器

参考:Http://www.runoob.com/Docker/docker-container-connection.html


前面我们实现了通过网络端口来访问运行在docker容器内的服务。下面我们来实现通过端口连接到一个docker容器


网络端口映射
我们创建了一个 python 应用的容器。


[root@huixuan ~]# docker run -d -P training/WEBapp Python app.py
eda68d54e9976f0894461dc61b35fb1ebc607ae19954bb76fd68a316ece6027d
[root@huixuan ~]# docker images
REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
docker.io/Centos            latest              3a42651974ec        7 minutes aGo       199 MB
tonykorn97/centos           dev                 3a42651974ec        7 minutes ago       199 MB
tonykorn97/ubuntu           v2                  6bb0f7a6d1e6        34 minutes ago      137 MB
<none>                      <none>              3248dea71f18        36 minutes ago      137 MB
docker.io/ubuntu            14.04               8cef1fa16c77        3 days ago          223 MB
docker.io/hello-world       latest              e38bc07ac18e        2 weeks ago         1.85 kB
docker.io/centos            <none>              e934aafc2206        3 weeks ago         199 MB
docker.io/ubuntu            15.10               9b9cb95443b5        21 months ago       137 MB
docker.io/training/webapp   latest              6fae60ef3446        2 years ago         349 MB
[root@huixuan ~]#


另外,我们可以指定容器绑定的网络地址,比如绑定 127.0.0.1。
我们使用 -P 参数创建一个容器,使用 docker ps 来看到端口1026绑定主机端口5000。


[root@huixuan ~]# docker ps 
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMES
eda68d54e997        training/webapp     "python app.py"     3 minutes ago       Up 2 minutes        0.0.0.0:1026->5000/tcp   blissful_goldstine
0e044f323370        training/webapp     "python app.py"     About an hour ago   Up About an hour    0.0.0.0:5000->5000/tcp   admiring_goldwasser
[root@huixuan ~]# 


我们也可以使用 -p 标识来指定容器端口绑定到主机端口。
两种方式的区别是:
-P :是容器内部端口随机映射到主机的高端口。
-p : 是容器内部端口绑定到指定的主机端口。


[root@huixuan ~]# docker run -d -p 5000:5000 training/webapp python app.py
56af280bb2b399399a9a40a5fa52ac0d7e787cca7ac2446ccbbb3faecccde935
/usr/bin/docker-current: Error response from daemon: driver failed programming external connectivity on endpoint laughing_heisenberg (b3ee694cd9c6bb3f7c8d7129aca3bf99b5eabc023Daab0d08a5e78358d23b08e): Bind for 0.0.0.0:5000 failed: port is already allocated.
[root@huixuan ~]# docker stop 0e044f323370
0e044f323370
[root@huixuan ~]# docker ps 
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMES
eda68d54e997        training/webapp     "python app.py"     5 minutes ago       Up 5 minutes        0.0.0.0:1026->5000/tcp   blissful_goldstine
[root@huixuan ~]# docker run -d -p 5000:5000 training/webapp python app.py
fcced8f54a68432cb652a7b755047160869ff9110cd6ec2b850f14a666a72b28
[root@huixuan ~]# docker ps 
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMES
fcced8f54a68        training/webapp     "python app.py"     3 seconds ago       Up 2 seconds        0.0.0.0:5000->5000/tcp   kickass_pare
eda68d54e997        training/webapp     "python app.py"     5 minutes ago       Up 5 minutes        0.0.0.0:1026->5000/tcp   blissful_goldstine
[root@huixuan ~]# 


另外,我们可以指定容器绑定的网络地址,比如绑定127.0.0.1。
[root@huixuan ~]# docker run -d -p 127.0.0.1:5001:5000 training/webapp python app.py
eda9d7e0083933213dff616a38e39975c89783f018ae9554c87493cc2028e247
[root@huixuan ~]# docker ps 
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS                      NAMES
eda9d7e00839        training/webapp     "python app.py"     3 seconds ago        Up 2 seconds        127.0.0.1:5001->5000/tcp   mystifying_haibt
fcced8f54a68        training/webapp     "python app.py"     About a minute ago   Up About a minute   0.0.0.0:5000->5000/tcp     kickass_pare
eda68d54e997        training/webapp     "python app.py"     6 minutes ago        Up 6 minutes        0.0.0.0:1026->5000/tcp     blissful_goldstine
[root@huixuan ~]#




这样我们就可以通过访问127.0.0.1:5001来访问容器的5000端口。
上面的例子中,默认都是绑定 tcp 端口,如果要绑定 UDP 端口,可以在端口后面加上 /udp。


[root@huixuan ~]# docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py
2eaa281d655cf95a2df079b8488e0e5cc64850e610ad522ba14a0e2ba9ca2e02
[root@huixuan ~]# docker ps 
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS                                NAMES
2eaa281d655c        training/webapp     "python app.py"     2 seconds ago        Up 1 second         5000/tcp, 127.0.0.1:5000->5000/udp   nifty_swirles
eda9d7e00839        training/webapp     "python app.py"     About a minute ago   Up About a minute   127.0.0.1:5001->5000/tcp             mystifying_haibt
fcced8f54a68        training/webapp     "python app.py"     2 minutes ago        Up 2 minutes        0.0.0.0:5000->5000/tcp               kickass_pare
eda68d54e997        training/webapp     "python app.py"     8 minutes ago        Up 8 minutes        0.0.0.0:1026->5000/tcp               blissful_goldstine
[root@huixuan ~]# 




docker port 命令可以让我们快捷地查看端口的绑定情况。
[root@huixuan ~]# docker port 2eaa281d655c
5000/udp -> 127.0.0.1:5000
[root@huixuan ~]# docker port eda9d7e00839
5000/tcp -> 127.0.0.1:5001
[root@huixuan ~]# 






Docker容器连接
端口映射并不是唯一把 docker 连接到另一个容器的方法。
docker有一个连接系统允许将多个容器连接在一起,共享连接信息。
docker连接会创建一个父子关系,其中父容器可以看到子容器的信息。


容器命名
当我们创建一个容器的时候,docker会自动对它进行命名。另外,我们也可以使用--name标识来命名容器,例如:
先把之前的停止掉:
[root@huixuan ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMES
fcced8f54a68        training/webapp     "python app.py"     29 minutes ago      Up 29 minutes       0.0.0.0:5000->5000/tcp   kickass_pare
eda68d54e997        training/webapp     "python app.py"     35 minutes ago      Up 35 minutes       0.0.0.0:1026->5000/tcp   blissful_goldstine
[root@huixuan ~]# docker stop  fcced8f54a68
fcced8f54a68
[root@huixuan ~]# docker stop  eda68d54e997
eda68d54e997
[root@huixuan ~]#




[root@huixuan ~]# docker run -d -P --name tonykorn97 training/webapp python app.py
c793b0a10ab17912d4b7138bd58f201dcc7479b27840426a79d3e3d921af7d6e




我们可以使用 docker ps 命令来查看容器名称。
[root@huixuan ~]# docker ps -l
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMES
c793b0a10ab1        training/webapp     "python app.py"     7 seconds ago       Up 6 seconds        0.0.0.0:1027->5000/tcp   tonykorn97
[root@huixuan ~]# 

--结束END--

本文标题: docker学习5:Docker 容器连接

本文链接: https://www.lsjlt.com/news/245874.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • docker学习5:Docker 容器连接
    参考:http://www.runoob.com/docker/docker-container-connection.html前面我们实现了通过网络端口来访问运行在docker容器内的服务。下面我们来实现通过端口连接到一个docker容器...
    99+
    2023-06-06
  • Docker 容器学习笔记
    Docker 容器学习笔记 容器的由来 早先,虚拟机通过操作系统实现相互隔离,保证应用程序在运行时相互独立,避免相互干扰。但是操作系统又笨又重,耗费资源严重: 容器技术只隔离应用程序的运行时环境但容器之间共享同一个操作系统,这里的运行时...
    99+
    2023-08-30
    docker 学习 笔记 容器
  • Docker如何连接容器
    这篇文章给大家分享的是有关Docker如何连接容器的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。连接容器docker run -dti --name...
    99+
    2022-10-19
  • 如何连接docker中的MySQL容器
    目录连接docker中mysql容器docker中MySQL容器启动一 下拉镜像二 运行镜像连接docker中MySQL容器 我以gin web项目为例,演示在容器中运行时mysql的相关配置。 1. 登入MySQL修改...
    99+
    2022-11-30
    连接docker中MySQL容器 docker MySQL容器 MySQL容器连接
  • Docker容器怎么连接代理Wormhole
    这篇文章主要讲解了“Docker容器怎么连接代理Wormhole”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Docker容器怎么连接代理Wormhole”吧!Wormhole 是一个能识别...
    99+
    2023-06-27
  • docker容器连接宿主机redis和mysql
    当我们在用docker部署项目的时候可能会遇到这样一个问题:项目A和项目B都用到了redis和mysql,如果在docker-compose里link或者dependon一个redis和mysql的话,会发现每一个项目都有一个redis和m...
    99+
    2023-08-18
    redis mysql docker
  • docker-compose容器互相连接的实现
    一些示例未整理 haproxy 与nginx 容器连接 ## 服务的compose 编写 mkdir /mnt/compose vim docker-compose.yml web1...
    99+
    2022-11-13
  • docker compose容器互相连接的方法
    这篇文章主要介绍了docker compose容器互相连接的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇docker compose容器互相连接的方法文章都会有所收获,下面我们一起来看看吧。haproxy...
    99+
    2023-06-29
  • docker学习6:在Centos7 更改Docker默认镜像和容器的位置
    转帖地址:https://www.cnblogs.com/hanyifeng/p/6837512.htmlutm_source=itdadao&utm_medium=referral一、Why?通常,当你开始使用docker时,我们...
    99+
    2023-06-06
  • Docker如何使用attach命令连接容器
    这篇文章给大家分享的是有关Docker如何使用attach命令连接容器的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用attach命令连接容器docker attac...
    99+
    2022-10-19
  • 教你如何通过 SSH 连接到 Docker 容器
    SSH 是系统管理员工具箱中最常用的命令之一,但它并不常见于 Docker。以下是如何通过 SSH 连接到正在运行的容器,以及为什么在这样做之前应该三思而后行。 你应该在 Dock...
    99+
    2022-11-13
  • Docker 容器里连接远程 Sql Server 数据库。
    Docker 容器里无法连接sql server 2008 sp3以下版本的数据库。(已用sql server 2008测试) 修改Dockerfile文件, (文件收vs 2019 创建默认配置,运行于Linux)把第一行: FROM ...
    99+
    2022-03-25
    Docker 容器里连接远程 Sql Server 数据库。 数据库入门 数据库基础教程 数据库 mysql
  • Linux下如何配置Docker容器间网络连接
    本篇内容主要讲解“Linux下如何配置Docker容器间网络连接”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux下如何配置Docker容器间网络连接”吧!Docker容器都是独立的,互相...
    99+
    2023-06-12
  • 如何通过ssh远程连接docker中的容器
    这篇文章主要介绍“如何通过ssh远程连接docker中的容器”,在日常操作中,相信很多人在如何通过ssh远程连接docker中的容器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何通过ssh远程连接dock...
    99+
    2023-06-19
  • vscode 远程连接服务器docker容器的设置方法
    目录拉取镜像 运行镜像(产生一个容器) 启动容器 进入容器 查看所有镜像 退出容器 重启容器 查看所有容器 删除容器 批量删除docker中已经停止的容器vscode通过ssh远程连...
    99+
    2022-11-12
  • ssh如何连接docker服务器
    这篇文章主要讲解了“ssh如何连接docker服务器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ssh如何连接docker服务器”吧!主要说一下怎么创建一个docker服务,让别人可以通过...
    99+
    2023-06-27
  • docker创建centos容器并在容器里下载MySQL本地连接MySQL
    目录一、拉取镜像二、查看是否拉取成功三、创建docker容器的几种方法方法一:(建议新手使用)一步步创建方法二:(创建并进入容器)方法三:(直接创建并设立端口再进入容器)设立端口方便...
    99+
    2022-11-13
  • Docker容器搭建运行python的深度学习环境的方法
    任务管理器中查看虚拟化,已启用 若禁用,重启电脑,到Bios中开启 安装Docker Desktop及开启WSL功能。 打开 powershell 创建镜像 docke...
    99+
    2022-11-12
  • Docker容器端口映射后突然无法连接如何排查
    这篇“Docker容器端口映射后突然无法连接如何排查”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看...
    99+
    2022-10-19
  • PhpStorm如何连接docker容器内的php XDebug进行断点调试
    这篇“PhpStorm如何连接docker容器内的php XDebug进行断点调试”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“PhpStorm如何连接docker容器内的php XDebug进行断点调试”,给大家总结了以下...
    99+
    2023-06-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作