问题情境:现在有一个服务器主机,安装了docker,想给成员分配各自的容器,但不想成员通过宿主机进入容器。那么成员如何直接访问容器呢?

成员可以通过ip加端口号访问

因此,需要生成一个容器,将容器的22端口号映射到宿主机的端口号。

下面为具体操作

1.启动docker image时可以指定端口映射并设置privilege为true 

docker run -ditp 5512:22 --name=xxxx --privileged=true [imageID] /bin/bash

2.进入容器为了之后操作便捷,先进行换源(可选)RedHat系列与Debian系列操作不同,具体问题具体分析

cd /etc/apt/

mv sources.list sources.list.backup

echo "deb http://mirrors.aliyun.com/debian wheezy main contrib non-free" >> sources.list

echo "deb-src http://mirrors.aliyun.com/debian wheezy main contrib non-free" >> sources.list

echo "deb http://mirrors.aliyun.com/debian wheezy-updates main contrib non-free" >> sources.list

echo "deb-src http://mirrors.aliyun.com/debian wheezy-updates main contrib non-free" >> sources.list

echo "deb http://mirrors.aliyun.com/debian-security wheezy/updates main contrib non-free" >> sources.list

echo "deb-src http://mirrors.aliyun.com/debian-security wheezy/updates main contrib non-free" >> sources.list

3.apt-get update

4.apt-get install openssh-server (安装ssh服务)

5.install vim(没有的话)

6.vim /etc/ssh/sshd_config

将sshd_config文件中PermitRootLogin修改为yes,一般默认的话是前面加了“#”,注释了,先把#去掉,或者直接复制下面这句

PermitRootLogin yes

7.重启ssh服务/etc/init.d/ssh restart

  1. ps -e | grep ssh 查看ssh进程

9.passwd (设置新的密码,方便登录)

10.一个端口映射的容器完成,现在成员可以通过ip加端口号直接访问容器了。

docker下将容器按照端口号分配的更多相关文章

  1. docker中启动容器提示端口被占用

    docker中启动容器提示端口被占用,但是 docker ps -a 查不到信息 1.查询端口被占用的id netstat -ntpl |grep 3306 2.杀掉该id kill -9 如果kil ...

  2. Windows10系统下查看mysql的端口号并修改

    mysql的端口号默认是3306,初学者可能有时会忘记或者之前修改了默认的端口号,忘记了,或者很多时候我们一台电脑需要安装两个mysql或者想设置一个自己的喜欢的数字,那么接下来我们来看看如何查看或者 ...

  3. linux下mysql 查看默认端口号与修改端口号方法

    一.查看默认端口号 1.登录mysql [root@localhost ~]# mysql -uroot -pEnter password: 输入数据库密码: 2.使用show global vari ...

  4. Linux下使用telnet测试端口号是否开放

    telnet 127.0.0.1 80调用后,若提示bash: telnet: command not found,那么进行以下步骤: 1.检查telnet是否已经安装,或者有部分未安装: rpm - ...

  5. Linux下rsync增加SSH端口号的用法

    rsync默认使用SSH的22号端口,为了安全起见,很多机器更改了SSH默认的端口号,对应rsync命令的用法为: rsync -e 'ssh -p 1234' username@hostname:S ...

  6. Docker下mysql容器开启binlog日志(保留7天)

    现有需求开启用Docker容器启动的mysql数据库的binlog,以作为 日志记录 和 数据恢复,我们了解了MySQL的binlog日志的开启方式以及binlog日志的一些原理和常用操作,我们知道, ...

  7. windows cmd下netstat查看占用端口号的进程和程序

    其实很简单,大家可以在cmd窗口 C:\Documents and Settings\Administrator>netstat -help 显示协议统计信息和当前 TCP/IP 网络连接. N ...

  8. docker 中的mysql启动端口号总是被占用解决

    解决: 1 查 netstat -lnp|grep 3306 2 杀 kill -9 3819 3 再查 netstat -lnp|grep 3306 4 发现还有,杀不尽 5 重启docker 6 ...

  9. linux下防火墙开启某个端口号及防火墙常用命令使用

    linux防火墙常用命令 1.永久性生效,重启后不会复原 开启:chkconfigiptables on 关闭:chkconfigiptables off 2.即时生效,重启后复原 重启防火墙 方式一 ...

随机推荐

  1. 编译OneAPI(支持Nvidia显卡)

    开始使用DPC++ 官方安装教程 预备条件 请确保当前开发环境满足如下条件: git cmake版本需要满足3.14及以上. python版本3.6以上的python. nijia版本1.8及以上(使 ...

  2. RabbitMQ入门-5.6-课堂笔记-01

  3. SpringSecurity-5.11-课堂笔记-01

  4. Linux上后台保持Terminal交互运行的三种方式:nohub、screen和tmux

    镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 后台运行 Linux上,如果一个进程需要保持后台运行,尤其是在Linux服务器上,后台运行程序.避免因为SSH连接断开而导致进程停止运行时,该怎么 ...

  5. 6月4日 python学习总结 装饰器复习

    1.  装饰器的原理以及为什么要使用装饰器 在代码运行期间动态增加功能的方式,称之为"装饰器"(Decorator). 在不影响原代码结构的情况下为其添加功能 2.  装饰器的基本 ...

  6. 论文解读(GRACE)《Deep Graph Contrastive Representation Learning》

    Paper Information 论文标题:Deep Graph Contrastive Representation Learning论文作者:Yanqiao Zhu, Yichen Xu, Fe ...

  7. grafana初级入门

    grafana初级入门 预备知识 Metrics.Tracing和Logging的区别 监控.链路追踪及日志作为实时监测系统运行状况,这三个领域都有对应的工具和解决方案. Metrics 监控指标的定 ...

  8. 安卓开发学习-app结构学习

    开发软件:Android Studio 全局分析 gradle与idea是AS自动生成的文件 buid是编译时生成的文件 gradle里面包含gradle wrapper配置文件 gitignore是 ...

  9. Spring cloud config 客户端连接RabbitMQ 报 socket closed

    java.net.SocketException: socket closed at java.net.SocketInputStream.socketRead0(Native Method)     ...

  10. Java代码查错部分?

    1. abstract class Name { private String name; public abstract boolean isStupidName(String name) {} } ...