docker 入门:安装以及基本的命令

olei 3,483 views 2

Ubuntu 16.04 64 位、Mac 下

什么是 Docker?

  • Docker 是一个开源的应用容器引擎
  • 开发者可以打包应用以及依赖包到一个可移植的容器中,然后可以发布到任何流行的 unix 系统中
  • 容器是完全地使用沙箱机制,相互之间不会有任何接口

为什么要用 Docker

  • Docker 中运行的容器,没有进行硬件虚拟以及运行完整操作系统等额外开销,Docker 对系统资源的利用率更高。
  • Docker 的启动速度往往都是可以做到秒级的
  • Docker 的镜像提供了除内核外完整的运行时环境,确保了应用运行环境一致性
  • 迁移更方便,docker 是跨平台的,Windows、Mac、Linux 都支持
  • Docker 支持镜像二次制作发布、复用

如何使用呢?

安装

mac 下

Shell
  1. $ brew cask install docker
复制 文本 高亮

或者直接下载:https://download.docker.com/mac/stable/Docker.dmg

ubuntu 下

Shell
  1. $ curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
  2.  
  3. $ sudo add-apt-repository \
  4. "deb [arch=amd64] https://mirrors.aliyun.com/docker-
  5. ce/linux/ubuntu \
  6. $(lsb_release -cs) \
  7. stable "
  8. $ sudo apt-get update
  9.  
  10. $ sudo apt-get install docker-ce
复制 文本 高亮

基本用法 (nginx 镜像为例)

Shell
  1. $  docker  pull  nginx:latest
复制 文本 高亮

docker  pull是用来获取官方那边的docker镜像获取到镜像之后,使用 docker  images来查看获取到本地的镜像

国内 docker pull 的时候,比较慢,这里介绍一个国内的源

  • ubuntu
Shell
  1. $ cd /etc/docker
  2. $ touch daemon.json
复制 文本 高亮

在 daemon.json 里面写入:

Source Code
  1. {
  2. "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"]
  3. }
复制 文本 高亮

之后重启 docker

  • Mac

docker入门:安装以及基本的命令

docker入门:安装以及基本的命令

填入 https://docker.mirrors.ustc.edu.cn/或者如图的链接

 

Shell
  1. $ docker run --name nginx_test -d -p 80:80 nginx:latest
复制 文本 高亮

docker  run是运行该镜像」-p  80:80」 意思是将本地的80端口映射到容器的80端口,--name是给这个容器命名,-d  参数是将它作为守护进程在后台运

Shell
  1.  $ docker images
复制 文本 高亮

docker images是列出来自己本地所有的镜像

Shell
  1. $  docker  ps
复制 文本 高亮

    docker  ps是查看已经启动的容器

Shell
  1. $  docker  exec  -it  nginx_test  /bin/bash
复制 文本 高亮

docker  exec  -it 是进入该容器里面,后面可以跟容器的ID,也可以跟容器名,/bin/bash是以shell模式下运行,默认情况是ubuntubash

Shell
  1. $  docker run p 80:80  --name nginx_test  \
  2.      -/var/www/html:/etc/www/html
复制 文本 高亮

 -v参数是将本地文件挂载到容器内

Shell
  1. $  docker  run  -it  nginx:latest  /bin/bash
复制 文本 高亮

镜像没有在容器运行的时候,可以通过docker  run  -it  xxx:xxx  /bin/bash来以shell的方式来进入

Shell
  1. $  docker  rmi nginx:latest
复制 文本 高亮

     删除nginx镜像 

Docker 容器运行之后,可以进去里面安装一些比如 vim 等的工具

  • 下面介绍一些对运行的容器命令

  • 停止容器运行:
Shell
  1. $ docker stop <container id> /<container name>
复制 文本 高亮
  • 运行之前停止的
Shell
  1. $ docker start <container id> /<container name>
复制 文本 高亮
  • 重启运行中的容器
Shell
  1. $ docker restart <container id> /<container name>
复制 文本 高亮
  • 删除容器
Shell
  1. $ docker  rm  <container id> /<container name>
复制 文本 高亮

(删除之前要先停止运行该容器)

镜像与容器的关系

  • Docker 的镜像,可以运行很多的容器,也就是说可以一对多的关系,注意的是,每个运行的容器名称、ID 是不一样的
  • 各个容器之间互不影响,一个容器中安装的一些工具对其他相同镜像下的其他容器是完全没有影响的
  • 容器是必须要建立在存在镜像的基础上的,无镜像,无容器

下篇介绍 Dockerfile 以及 docker-compose 工具

发表评论 取消回复
表情 图片 链接 代码

  1. kuoge
    kuoge Lv 1

    学习学习,可惜 win 上装 docker 贼麻烦。

    • olei
      olei 站长

      @kuoge 要是 win10 的话,可以在应用商店下载 ubuntu 或者其他 linux 应用,就可以玩了

分享