docker 基础入门

简介

Docker 是一个开源的应用容器引擎,基于Go语言并遵从 Apache2.0 协议开源。

Docker的优点

  • Docker是一个轻量级的容器(比虚拟机更小更快)
  • Docker使用沙箱机制,开发者可以打包他们的应用到这个可移植的容器中,然后发布到任意流行的Linux机器上,从而实现虚拟化
  • Docker有免费开源的社区版(Community Edition)

总结一下,容器的最大好处就是为我们屏蔽了安装环境的因素

安装

通过官方的脚本,使用阿里云镜像一键安装
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

也可以通过国内的 daocloud 一键安装
curl -sSL https://get.daocloud.io/docker | sh

说明

  • curl 是访问或下载网页的应用程序
  • -f 表示不输出错误,且在第一次报错时就立即停止
  • -sS -s表示将 curl 设定在静默模式下工作。进度条和错误消息都不会被显示。在 -s 后面加上 -S 表示报错时显示具体的错误信息
  • -L 如果直接使用 curl 打开某些被重定向后的链接,这种情况下我们就无法获取想要的网页内容了。使用 -L 可以跟随链接进行重定向

容器的使用

查看版本

  • 查看详细版本信息:sudo docker version
  • 仅查看docker版本:sudo docker --version
    docker 基础入门

查看安装路径

whereis 命令用来查看应用的安装路径

whereis docker

  • /usr/bin/docker
  • /etc/docker
  • /usr/libexec
  • /usr/share/man/man1/docker.1.gz

运行实况

  • ubuntu
    docker 基础入门
  • centos
    docker 基础入门

启动守护进程

如果报错 Is the docker daemon running?

说明 docker 服务未启动,使用 sudo systemctl start docker 启动服务
docker 基础入门
说明

  • sudo systemctl enable docker 设置docker开机自启
  • sudo systemctl disable docker 禁用docker开机自启
  • sudo systemctl start docker 启动docker服务
  • sudo systemctl restart docker 重启docker服务
  • sudo systemctl stop docker 关闭docker服务

搜索镜像

  • 在 dockerHub 网页上进行查找
  • 使用命令行进行搜索

具体镜像可以在该网站上进行搜索 https://hub.docker.com/search

docker 基础入门
docker 基础入门
命令行方式 sudo docker search <镜像名关键词>

docker 基础入门

拉取镜像

例如,下载 ubuntu 镜像,可以使用 sudo docker pull ubuntu
docker 基础入门

查看已下载的镜像

sudo docker images
docker 基础入门

启动容器

sudo docker run -it ubuntu /bin/bash
docker 基础入门
docker 基础入门
常用参数

  • -i 表示交互式操作
  • -t 表示终端
  • -d 表示容器启动时,会进入后台
  • ubuntu 是要启动的镜像名
  • --name 可以指定容器名
  • /bin/bash 放在镜像名后面的是命令,我们需要一个交互式 shell,因此这里用 /bin/bash

最后,要退出容器,直接 exit 即可

查看所有容器

sudo docker ps -a

容器ID实际上是一个64位的随机数,但ps只显示其前12位(绝大部分情况是不会重复的)
docker 基础入门

停止容器

sudo docker stop <容器 ID>

docker 基础入门

重启停止的容器

sudo docker start <容器ID>

sudo docker restart <容器ID>
docker 基础入门