
简介
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。
什么是镜像(Image)
如果曾经做过管理员,则可以把Docker镜像理解为封装好的iSO亦或是VM模版;而作为一名研发人员,则可以将镜像理解为抽象的类(Class)。注:命名方式为imageName:Tag。
什么是容器(Container)
同上如果曾经做过管理员,则可以把Docker容器理解用封装好的iSO安装的运行中的系统(但他不需要完善的系统组件);而作为一名研发人员,则可以将容器理解为具体实例化的对象。
二者的职责与区别:Image负责APP的存储和分发,Container负责运行APP
安装
yum update //更新
yum remove docker docker-common docker-selinux docker-engine //卸载旧版本
yum install -y yum-utils device-mapper-persistent-data lvm2 //安装所需软件包
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 设置yum源
yum list docker-ce --showduplicates | sort -r //查看所有版本
yum install docker-ce //安装最新稳定版
yum install <FQPN> //选择版本 如:yum install docker-ce-19.03.12.ce
systemctl start docker //启动
systemctl enable docker //加入自启动
简要介绍基础命令
查看容器(Container)列表
docker ps //所有状态为运行中(runing)的容器
docker ps -a //所有容器包括状态为停止的
启动容器
docker run $imageNmae //简单直接启动
可带的常用参数如下
-d //后台启动
-i //交互式操作
-t //终端
-p //端口映射
-v //数据卷宗挂载
--network //设置网络
--add-host //添加host地址
--link //链接
改变容器状态
docker start $containerId //启动容器
docker stop $containerId //停止容器
docker restart $containerId //重启容器
镜像
docker pull $imageName //拉取镜像
docker push $imageName //推送镜像