pycharm远程连接docker开启debug操作--docker开启22号端口

本文详细介绍了如何在Docker容器中安装和配置SSH服务,包括端口映射、SSH服务安装与启动、配置SSH服务允许root登录及密码认证,并通过netstat验证SSH服务是否正常监听指定端口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. Add port projection in docker-compose.yml:
    ports:
    - 8080:8080
    - "10022:22"

  2. Start docker:
    docker-compose up

  3. Attach to working container:
    docker exec -it kdba-console bash

  4. 安装openssh-server并启动

apt-get install openssh-server
启动之前需手动创建/var/run/sshd,不然启动sshd的时候会报错
mkdir -p /var/run/sshd
sshd以守护进程运行
/usr/sbin/sshd -D &
安装netstat,查看sshd是否监听22端口
apt-get install net-tools
netstat -apn | grep ssh

  1. 安装完成以后需要配置ssh服务

配置在docker container中完成

将Root的密码修改为test:

echo 'root:test' | chpasswd

允许使用root身份登录:

sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config

sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd
echo "export VISIBLE=now" >> /etc/profile12345678

  1. 配置好ssh服务之后重启ssh服务

service ssh restart

第四步,测试docker container中ssh服务端口在宿主机上的映射

此操作在宿主机
docker port <your container name> 22
此操作将查看docker container中端口22的映射
输出结果如下所示
0.0.0.0:10022
表明只要ssh链接宿主机的8022端口,实际是链接docker container中的22端口

### 配置 PyCharm 连接本地 Docker 容器 #### 创建和配置 Dockerfile 和镜像 为了使 PyCharm 能够连接到本地的 Docker 容器,首先需要创建一个合适的 Dockerfile 来定义开发环境。这个文件应该包含项目所需的所有依赖项以及设置必要的环境变量。 一旦有了 Dockerfile 文件,则可以通过 `docker build` 命令来构建自定义镜像[^1]。 ```bash docker build -t my-python-app . ``` #### 设置 Docker Compose (可选) 如果应用程序由多个服务组成,建议使用 Docker Compose 来管理这些服务之间的关系。编写 docker-compose.yml 文件可以帮助简化多容器应用的部署过程[^2]。 #### 在 PyCharm 中集成 Docker 插件 确保安装了官方支持的 Docker 插件。打开 IDE 的插件市场,在搜索框内输入 "Docker" 并按照提示完成安装操作[^3]。 #### 添加 Docker 解释器 前往 **File | Settings... | Project: [project name] | Python Interpreter**, 点击齿轮图标旁边的加 (+),选择 **Add...** 。 接下来点击左侧列表底部的小方块按钮(显示为三个水平线),从中挑选 “Docker”,然后指定之前建立过的镜像作为解释器来源[^4]。 #### 配置远程调试选项 为了让 PyCharm 正确地附加到正在运行的应用程序进程中执行断点调试等功能,还需要进一步调整项目的 Run/Debug Configurations: - 对于 Flask 或 Django 应用而言,可以在相应的框架模板基础上修改参数; - 如果是普通的 Python 脚本,则需手动添加 `-m debugpy --listen 0.0.0.0:[port number]` 参数让其监听特定端口上的连接请求; 最后一步是在 PyCharm 内部新建 Remote Debugging Session, 将目标主机设成本机地址 (`localhost`) 及对应的侦听端口.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值