docker 的简介、安装以及常用命令
一、docker 是什么
docker 是一个开源的应用容器引擎,基于 go 语言,开发者可以打包他们的应用以及依赖到一个可移植的容器中,这个容器可以发布到任何装有 docker 软件的 linux 机器上。
docker 有 4 个组成部分
- docker 客户端(client)
- docker 守护进程(daemon)
- docker 镜像(image)
- docker 容器(container)
二、为什么要使用 docker
(1) 快速部署。
上面说到了,开发者可以打包的他们的应用和依赖到一个可移植的容器中,也就是说,你开发一套软件,你只要将这套软件配置在一个可移植的容器中,后续的部署也就只是复制这个可移植的容器。
(2) 有效的利用资源
说到可移植,我们当然就想到了虚拟机。但是虚拟机包含一个完整的操作系统,容器里面只包含了自己开发的应用和应用所依赖的组件,所以,容器占用的体积很小。虚拟机运行的时候,会运行一些系统自带的服务,从而会造成一些资源的浪费,而容器直接运行在宿主机器上。
(3) 启动快
因为容器直接运行在宿主机器上,是软件的层面的启动,所以启动速度非常快。
三、docker 的安装
3.1 ubuntu 下的安装
(1)
sudo apt-get update
(2)
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
(3)
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
(4)
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
(5)
sudo apt-get update
(6)
sudo apt-get install docker-ce
3.2 centos 下的安装
(1)
cd /etc/yum.repos.d
(2)
wget https://download.docker.com/linux/centos/docker-ce.repo
(3)
sudo yum install docker-ce -y
四、几个概念
4.1 镜像
docker 的镜像是一个特殊的文件的系统,里面包含了自己开发的应用和应用所依赖的组件,同时他还可以提供一些配置参数(环境变量和匿名卷),在运行容器的时候可以动态赋值。
4.2 容器
容器是镜像运行的实体。
4.3 容器和镜像之间的关系
镜像相当于面向对象编程当中的类,而容器就是这个类(镜像) new 出来的一个实例。
五、docker 的常用命令
5.1 系统相关命令
(1) docker -v : 查看版本信息
(2) docker version : 查看版本信息
(3) docker info : 查看软件信息
(4) systemctl restart docker : 重启 docker
5.2 镜像相关命令
(1) 拉取一个镜像 : docker pull image_name:version
image_name 指的是镜像的名称,version 指的是镜像的版本
(2) 显示本机所有的镜像 : docker images
(3) 生成一个镜像 : docker image build -t image_name:version path
image_name 生成镜像的名称,version 生成镜像的版本,path 指的是 Dockerfile 文件所在的路径
(4) 删除一个镜像 : docker image rm image_name/image_id
删除一个镜像,指定镜像的名称或者镜像 id
(5) 导出一个镜像 : docker save -o save_image_name image_name ,例如 docker save -o nginx.tar nginx
-o 参数后面表示保存到本地的镜像名称,最后一个表示 docker 内部镜像的名称
(6) 载入镜像 : docker load --input nginx.tar
5.3 容器相关命令
(1) 显示所有容器 : docker ps -a
(2) 运行一个容器 :docker run options image_name/image_id cmd
options
-d : 表示以 "守护模式" 执行,日志不会出现在输出终端上
--name : 给容器取个名字, 格式 --name container_name
-p : 表示宿主机与容器的端口映射,格式 -p 8081:80 将宿主主机的 8081 端口,映射到容器的 80 端口。
-v : 表示需要将本地哪个目录挂载到容器中, 格式:-v <宿主机目录>:<容器目录>,-v 标记来创建一个数据卷并挂载到容器里。在一次 run 中多次使用可以挂载多个数据卷。
-it : 容器的 Shell 映射到当前的 Shell,然后你在本机窗口输入的命令,就会传入容器。通常与 cmd 一起使用。
(3) 停止一个容器 : docker container stop container_name/container_id
(4) 删除一个容器 : docker container rm container_name/container_id
(5) 重启一个容器 : docker container restart container_name/container_id
原文地址:https://www.cnblogs.com/aimex/p/10349096.html