安装Docker 本来打算在CentOS6上安装Docker,最终由于CentOS6上自带的kernel版本太低导致Docker启动失败而放弃(kernel升级太繁琐)。 下面使用CentOS7安装Docker,本人采用虚拟机的方式来安装,安装好的虚拟机必须保证能访问外网。 CentOS7 系统 CentOS-Extras 库中已带 Docker,可以直接安装: $ sudo yum install docker 安装之后启动 Docker 服务,并让它随系统启动自动加载: $ sudo service docker start $ sudo chkconfig docker on 获取镜像 可以使用 docker pull 命令来从仓库获取所需要的镜像。 下面的例子将从 Docker Hub 仓库下载一个Centos6并且安装了jdk7的镜像: $ docker pull tcbenkhard/centos6-jdk7 列出本地镜像 使用 docker images 显示本地已有的镜像。 $ docker images 启动容器 启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态(stopped)的容器重新启动。 因为 Docker 的容器实在太轻量级了,很多时候用户都是随时删除和新创建容器。 下面的命令则启动一个 bash 终端,允许用户进行交互。 $ docker run -t -i docker.io/tcbenkhard/centos6-jdk7 /bin/bash [root@ffe81683c404 /]# 其中,-t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上,-i 则让容器的标准输入保持打开。 当利用 docker run 来创建容器时,Docker 在后台运行的标准操作包括: (1)检查本地是否存在指定的镜像,不存在就从公有仓库下载 可以使用下面命令来查看CentOS版本信息: $ cat /etc/redhat-release 修改root密码 使用passwd密码来修改密码(如提示没有这个命令行使用yum install passwd安装): $ passwd xxx密码 xxx确认密码 安装Openssh 使用下面命令安装ssh server/ssh client: $ sudo yum -y install openssh-server $ sudo yum -y install openssh-clients 修改SSH配置文件以下选项,去掉#注释,将四个选项启用: $ vi /etc/ssh/sshd_config RSAAuthentication yes #启用 RSA 认证 PubkeyAuthentication yes #启用公钥私钥配对认证方式 AuthorizedKeysFile .ssh/authorized_keys #公钥文件路径(和上面生成的文件同) PermitRootLogin yes #root能使用ssh登录 重启ssh服务,并设置开机启动: $ service sshd restart $ chkconfig sshd on 退出容器并保存更改 使用exit命令或者ctrl+C来退出当前运行的容器: [root@ffe81683c404 /]# exit 注意:上面 当结束后,我们使用 exit 来退出,现在我们的容器已经被我们改变了,使用 docker commit 命令来提交更新后的副本。 $ sudo docker commit -m 'install openssh' -a 'Docker Newbee' ffe81683c404 centos6-jdk7:ssh 4f177bd27a9ff0f6dc2a830403925b5360bfe0b93d476f7fc3231110e7f71b1c 其中,-m 来指定提交的说明信息,跟我们使用的版本控制工具一样;-a 可以指定更新的用户信息;之后是用来创建镜像的容器的ID;最后指定目标镜像的仓库名和 tag 信息。创建成功后会返回这个镜像的 ID 信息。 提交后docker中就会多出一个centos6-jdk7:ssh的一个镜像。 启动新的容器并打通22端口 将新的镜像启动,并将docker服务器的50001端口映射到容器的22端口上: $ docker run -d -p 50001:22 centos6-jdk7:ssh /usr/sbin/sshd -D ssh连接容器: 至此SSH连接docker容器成功完成。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持社区。 | |||||||||||||||||