docker新建ubuntu容器,设置ssh与物理机登陆

1. docker run -it ubuntu

2. 进入容器之后, 安装ssh服务:

sudo apt-get install openssh-server

有可能在安装之前需要配置软件源: sudo apt-get  update

3.启动 ssh 服务 : /usr/sbin/sshd

4.生成公钥和密钥,用于无密码登陆:

  ssh-keygen

  一路回车,将会在~/.ssh/文件夹中生成  :  id_rsa、id_rsa.pub

将id_rsa.pub 通过scp传送到本机: scp ~/.ssh/id_rsa.pub [email protected]:~/pub_key_from_docker

5.切换回物理机, 将刚才传送的 pub_key_from_docker 写入 登陆用户的~/.ssh/authorized_keys 中

  root: sudo cat pub_key_from_docker /root/.ssh/authorized_keys

6.通过上面的设置 docker容器可以无密码登录到 物理机上面, 接下来可以将物理机中的java scp 到容器中

7.在物理机中, 默认的jdk位置可以通过 查看whereis java ,结合 ls -l 一层一层找出 jdk的位置,

在我的电脑中,jdk的位置在 /usr/lib/jvm/java-7-openjdk-amd64

8.切换回容器,将物理机中的jdk复制到容器中:

  scp -r [email protected]:/usr/lib/jvm/ /opt/

9.在容器中设置JAVA_HOME, PATH,等环境变量:

  sudo vi  /etc/profile

  在文件的最后添加

  export JAVA_HOME=/opt/jvm/java-7-openjdk-amd64

  export PATH=$JAVA_HOME/bin:$PATH

  :wq 保存退出

  source /etc/profile 使得环境变量立即生效

10.问题来了,当我使用测试的时候,java报错:

大致的意思是找不到共享的库文件(*.so文件) libjli.so

11.原因是,ubuntu在查找库文件的时候会根据/etc/ld.so.conf 文件中 的路径位置查找 库文件,不被路径包含的库文件,是不会被查找到的

通过命令:  find / -name "libjli.so"

查找到了 该文件位于 jdk中的lib 中

即: /opt/jvm/java-7-openjdk-amd64/jre/lib/amd64/jli/libjli.so

12. 要解决上面的问题,需要将11 中查找到的路径添加到 配置文件 /etc/ld.so.conf 文件中

使用vi 添加 /opt/jvm/java-7-openjdk-amd64/jre/lib/amd64

到文件的末尾

13.最后使用 /sbin/ldconfig -v 更新设置

然后 java 就可以运行了

时间: 2024-10-10 21:39:46

docker新建ubuntu容器,设置ssh与物理机登陆的相关文章

docker创建centos容器之后ssh登录失败

创建运行centos容器之后,立刻使用ssh客户端工具登录,输入密码root,或者直接回车,发现登录被拒绝: 解决办法: 在容器中使用passwd命令设置好密码,再用客户端工具登录. 原文地址:https://www.cnblogs.com/144823836yj/p/12502806.html

Docker入门篇-容器(一)

一.容器1.1)物理机.虚拟机与容器通过几张图简单形象地介绍物理机.虚拟机与容器的区别 1.2)什么是容器将软件打包成标准化单元,以用于开发.交付和部署容器镜像是轻量的.可执行的独立软件包,包含软件运行所需的所有内容:代码.运行时环境.系统工具.系统库和设置.容器化软件适用于基于 Linux 和 Windows 的应用,在任何环境中都能够始终如一地运行.容器赋予了软件独立性,使其免受外在环境差异(例如,开发和预演环境的差异)的影响,从而有助于减少团队间在相同基础设施上运行不同软件时的冲突.1.3

vmware虚拟机网络配置(物理机能用ssh连接虚拟机, 虚拟机能共享物理机网卡上外网)仅主机模式,nat模式应该也可以

1.环境: 物理机:windows7 虚拟机:centos7  ...xx.xx.x 虚拟化软件:vmware 13 2.准备阶段: vmware安装centos操作系统(easy),网卡地址简单配置,虚拟网卡连接方式先设置为“仅主机模式”. 3.物理机配置 在物理机win7中, win+r,  services.msc,  找到windows firewall 服务,启动防火墙: 在物理机win7中, 打开“网络和共享设置”,适配器设置,如果物理机用的是无线网卡上网,就在“无线网络连接”选中属

docker容器设置静态IP与宿主机同一网段通信

很早以前弄过docker容器设置静态ip地址以及容器与容器之间通信,用的不多所以没有记录下来. 今天在网上看到个文章关于设置静态ip地址的.就自己实战下.对了还有个pipework也可以设置.. 操作系统环境 [email protected]:~# cat /etc/issue Ubuntu 14.04.3 LTS \n \l 宿主机(系统采用ubuntu-14.04.1-server-amd64)的网络采用桥接模式(默认是DHCP模式,还有一种模式就是静态IP),网桥的网段与物理网段相同.目

Centos上Docker 使用dockerfile构建容器实现ssh

这几日在学习docker.遇到的问题数一年都数不完,网上大多数都是ubuntu的,百度或者谷歌的时候心好累.写写文档来帮助使用centos的docker爱好者们. docker基本操作这里就不介绍了 编写时间为:2015年12月25日17:41:41 如果你是准备开始学习,或者准备想用ssh实现连接容器这个功能时,请先自己折腾一下.不然达不到学习的目的哦 ssh -p 32772 [email protected] Read from socket failed: Connection rese

Docker使用Dockerfile创建支持ssh服务自启动的容器镜像

1. 首先创建一个Dockerfile文件,文件内容如下 # 选择一个已有的os镜像作为基础 FROM centos:centos6 # 镜像的作者 MAINTAINER Fanbin Kong "[email protected]" # 安装openssh-server和sudo软件包,并且将sshd的UsePAM参数设置成no RUN yum install -y openssh-server sudo RUN sed -i 's/UsePAM yes/UsePAM no/g' /

为Docker容器设置静态IP

此文已由作者袁欢授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 创建docker容器 docker run -it --name=yh -h yh --net=none debian:sshd bash   ### 确保使用--net=none参数,此时新建的容器内不会创建网卡 docker ps 此时登录容器查看IP,会发现没有eth0网卡: [email protected]:/# ifconfig -alo        Link encap:Local Loop

Docker的ubuntu镜像安装的容器无ifconfig和ping命令的解决

Docker的Ubuntu镜像安装的容器无ifconfig命令和ping命令 解决: apt-get update apt install net-tools       # ifconfig apt install iputils-ping     # ping

ubuntu 设置ssh 登陆

今天老板过来与我商量实验室买小型服务器的事情.老板咨询了华科的一个老师之后对买小型服务器有点犹豫.我和老板都没接触过小型服务器,而且据说服务器对散热和湿度都有要求,我们实验室本来空间就很紧张,确实没有太大的地方安置新来的服务器了. 老板担心我一个人搞不定服务器的维护,我自己心里也没有主意.后来我去咨询了院里面其他做生物信息学分析的实验室,好像他们也不是很在行.楼上付老师实验室的同学告诉我,他们用一个性能和配置好一点的主机代替了.我自己现在用的这台电脑是老板自己配的.老板自己对电脑挺在行的,这台电