Docker 实践备忘录 Docker-Compose.yml :容器编排文件,可以用这个编排文件启动容器,节省输入命令的时间

 平时零散的接触docker,时间久了概念和命令都会忘了,所以集中记下:

docker 目标是实现轻量级的操作系统虚拟化解决方案。 Docker 的基础是 Linux 容器(LXC)等技术

docker基本概念:

image:镜像,可以理解为OOP的一个类,静态。有(layer概念)

container:容器,可以理解为基于类实例化的对象,可以动态创建。

hub:容器仓库

Dockerfile:是用来描述如何构建一个image

可以用image创建容器,修改容器后可以将容器配置保存为最新的镜像,用新的镜像创建的容器即已经包含了我们配置的一些功能,镜像可以push到仓库存储

docker rmi   ${imageID} // 移除本地镜像, 通过镜像ID来标识

docker images // 查看本地所有存在的镜像

docker ps -l // 查看在运行的所有容器

docker pull ${imageName} // 拉取公共库里的镜像文件, 通过镜像名称来获取

docker pull winyh/${imageName} // 拉取 winyh仓库里的镜像到本地

docker commit -a "winyh" -m "add ping"  containerId  imageName:tag
-a 提交镜像作者
-m 提交信息备注
containerid 通过容器id 来提交保存修改的版本到本地
imageName 镜像名称
tag 镜像标签

  docker 容器在宿主机上用ssh连接基本原理

只需要配置好容器的ssh服务,然后映射容器的22端口到宿主机的任意(如:2222)端口,设置好容器passwd,root账号密码,如果提示没有passwd,安装即可。在宿主机用ssh连接 宿主机的ip+映射的端口号即可在宿主机通过ssh访问容器

然后用xshell连接

ip: 为宿主主机的ip,而不是docker容器的ip

端口:就是上面的2222

用户名: root

密码: 就是上面password部分设置的密码

宿主机A,宿主机B:

需求:宿主机A上xshell连接宿主机B上的容器

宿主机B上安装好容器和ssh,映射端口号(容器端口22->宿主机B端口50001)到宿主机B

在计算机A上ssh远程登录上述B创建的容器:
ssh root@192.168.1.249 -p 50001
192.168.1.249为B的ip地址