use*_*094 2 ssh amazon-web-services docker
我想在 EC2 上运行一个 docker 容器,我还需要 ssh 进入容器以进行调试。我在我的 EC2 实例(应用了安全组)上为 ssh 22 和 8022 打开了 2 个端口。问题是当我想将 docker 容器的 22 端口绑定到端口 8022 时,它会告诉地址已在使用中。该地址由 sshd 程序使用。如果我终止该进程,则无法从本地主机通过 ssh 连接到该实例。我怎样才能克服这个僵局?
如评论中所述,您无需在容器内启动 ssh 即可进入容器。在通过 ssh 进入 EC2 实例后,您可以使用 docker exec 命令进入容器内部,方法是运行:
docker exec -it <container-name> bash
Run Code Online (Sandbox Code Playgroud)
如果你还想直接ssh进入容器,那么你需要做以下事情:
启动容器,将里面的 22 端口映射到外面的空闲端口;
docker run -p 2222:22 ...
启动容器后,执行它并安装ssh(如果尚未安装),然后使用类似的东西启动ssh服务 systemctl start sshd
使用 ec2 实例 IP 和映射端口通过 ssh 进入容器
ssh <container-user>@<ec2-instance-ip> -p 2222
由于端口映射,这将连接到 ec2 实例并将您重定向到容器。
归档时间: |
|
查看次数: |
2755 次 |
最近记录: |