docker学习

docker提供了一个标准化的解决方案:系统平滑移植,容器虚拟化技术,可以消除协作编码时"在我的机器上可正常工作"的问题

一次镜像,处处运行,从搬家到搬楼。

docker是基于Go语言实现的云开源项目,解决了运行环境和配置问题的软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术。

更快速的应用交付和部署

更便捷的升级和扩缩容

更简单的系统运维

更高效的计算资源利用

镜像:类。类似于Java的类模板,容器实例类类似于Java中new出来的实例对象

容器:对象。一个简易版的Linux环境

仓库:集中存放镜像文件的地方

yum 安装gcc相关:

yum -y install gcc

yum -y install gcc- c++

安装需要的软件包:yum install -y yum-utils

设置stable镜像仓库:yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新yum软件包索引:yum makecache fast

安装docker ce:yum -y install docker-ce docker-ce-cli containerd.io

启动docker:systemctl start docker

查看docker服务:ps -ef|grep docker

测试:docker run hello-world

docker常用命令

帮助启动类命令

启动docker:systemctl start docker

停止docker:systemctl stop docker

重启docker:systemctl restart docker

查看docker状态:systemctl status docker

开机启动:systemctl enable docker

查看docker概要信息:docker info

查看docker总体帮助文档:docker --help

查看docker命令帮助文档:docker 具体命令 --help

镜像命令

docker images(列出仓库中所有镜像):-a:列出本地所有的镜像,含历史映像层;-q:只显示镜像id

docker search(查某个镜像):--limit:只列出n个镜像,默认25个

docker pull (拉某个镜像)

docker system df 查看镜像/容器/数据卷所占用的空间

docker rmi 某个镜像名字id

面试:谈谈docker虚悬镜像是什么?

仓库名、标签都是的镜像,俗称虚悬镜像dangling image

容器命令

新建+启动容器:docker run [OPTION] IMAGE [COMMAND] [ARG...]

--name="容器新名字" 为容器指定一个名称

-d:后台运行容器并返回容器id,也即启动守护式容器

-i:以交互模式运行容器

-t:为容器重新分配一个伪输入终端,通常与-i同时使用

-P:随机端口映射

-p:指定端口映射

docker run -it -p 8080:80 ubuntu /bin/bash

罗列出所有容器实例:docker ps