该图是我自己给docker画的一张图。我们先拿这张图简单介绍下docker
镜像:一个docker文件。使用docker run可以启动镜像成为一个容器。我们可以把镜像存储到云盘中比如阿里云,网易云等等。相当于我们VM创建一个虚拟机存储的文件
容器:启动镜像成为一个容器就相当于一个虚拟机。相当于我们VM启动一个虚拟机并且运行起来了。
我们对镜像和容器的操作如上图的描述。下面我们简单介绍下docker的使用
1.拉取centos7镜像
命令如下: docker pull centos:7
拉取完成之后我们使用docker images命令查看系统中拥有的镜像如下图:
2.使用docker run 命令启动一个容器.命令如下:
docker run -tid --name ssh -p 10001:22 --privileged=true 8652 /sbin/init
其中8652为镜像的id
该容器主要是安装ssh服务。方便通过ssh服务外部直接连接该容器
--name 容器名称
-p 宿主机的端口映射docker容器的端口
--privileged=true 获取到宿主机的root权限false为没有root权限。
8652 镜像的imageid
/sbin/init docker启动之后docker容器执行的命令。如果有兴趣关于/sbin/init自行百度了解操作系统启动的步骤
3.使用docker ps -a 命令查看系统中哪些启动的容器,如下图所示:
4.使用docker exec -it d90163 bash进入到容器内安装ssh服务如下图所示:
d90163 为容器的id
5.给容器安装ssh服务
执行命令yum install –y openssh-server openssh-clients安装ssh服务。执行完成如下图所示:
执行命令:yum install –y passwd安装修改密码命令
安装service服务命令:yum install –y initscripts
修改密码:passwd 如下图所示:
输入自己镜像的默认密码
修改sshd_config配置文件
vi /etc/ssh/sshd_config 找到UsePAM参数 并设置为no 保存退出
启动ssh服务:
service sshd start
退出容器:exit
这样我们就可以通过Xshell连接该虚拟机的服务了如下图:
端口为刚才启动docker映射到22的端口
这样一个安装了ssh服务的容器就完成了
6.把我们的容器打成镜像并上传到阿里云以备后用
使用命令docker commit <容器id> <镜像名称>把刚才安装了ssh服务的容器打成镜像。
命令如下:docker commit d901636 ssh:1.00
执行完成如下图所示:
使用命令docker login --username=<阿里云账号> registry.cn-hangzhou.aliyuncs.com
登录阿里云。如下图输入密码:
docker tag <ImageId> registry.cn-hangzhou.aliyuncs.com/yusongcao/ssh:1.00
docker push registry.cn-hangzhou.aliyuncs.com/yusongcao/ssh:1.00
执行以上两条命令 把打好的镜像推送到阿里云
登录阿里云进入到容器镜像服务依次点击下面的操作
可以看到我们打的个人镜像已经上传到阿里云服务。
7.从阿里云拉取ssh的镜像并启动
同上面的登录阿里云的操作然后使用命令:
docker pull registry.cn-hangzhou.aliyuncs.com/yusongcao/ssh:1.00
如下图:
使用docker run 命令启动镜像就可以直接使用Xshell命令操作镜像了