docker 基础知识

127 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

docker 学习

什么是docker

Docker是一种轻量级的虚拟化技术,是一个开源的用于开发、发布和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分离,以便您可以快速交付软件。使用 Docker,您可以像管理应用程序一样管理基础设施。通过利用 Docker 快速交付、测试和部署代码的方法,您可以显着减少编写代码和在生产环境中运行之间的延迟。

docker的三个基本概念

  • 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
  •  容器(Container):镜像运行起来就是一个容器。容器创建、启动、停止、删除、暂停等状态。
  • 仓库(Repository):保存镜像的地方。

 docker镜像加速

国内从 DockerHub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。

Mac OS X
对于使用 Mac OS X 的用户,在任务栏点击 Docker for mac 应用图标-> Perferences...-> Daemon-> Registrymirrors。在列表中填写加速器地址 reg-mirror.qiniu.com 。修改完成之后,点击 Apply&Restart 按钮,Docker 就会重启并应用配置的镜像地址了。

docker命令

  • 获取镜像

        docker pull ubuntu

  • 启动容器

docker run -it ubuntu /bin/bash
参数说明:
-i: 交互式操作。
-t: 终端。
ubuntu: ubuntu 镜像。
/bin/bash:交互式 Shell, 有时候 /sh或/bin/sh。

  • 查看所有的容器

        docker ps -a

  • 启动一个已停止的容器

docker start a8dek36d9g00  

  • 后台运行

docker run -itd --name zj-test ubuntu /bin/bash

-d 指定容器的后台运行模式

  • 停止一个容器 

docker stop <容器 ID> 

  • 重启容器

 docker restart <容器 ID>

  • 进入容器

docker exec

docker exec -it a8dek36d9g00 /bin/bash

注意: 如果从这个容器退出,不会导致容器的停止

  •  删除容器
docker rm -f a8dek36d9g00
删除容器时,容器必须是停止状态
  •  查看正在运行的容器

docker ps 

  • 设置不一样的端口

docker run -d -p 5000:5000 training/webapp python app.py 

  • 查看容器端口的映射情况

docker port a8dek36d9g00 或 docker port wizardly_chandrasekhar

  • 查看 WEB 应用程序日志

docker logs -f a8dek36d9g00 

  •  查看 Docker 的底层信息

docker inspect wizardly_chandrasekhar  

  • 导出容器

docker export a8dek36d9g00 > ubuntu.tar 

  • 导入容器快照

可以使用 docker import 从容器快照文件中再导入为镜像,以下实例将快照文件 ubuntu.tar 导入到镜像 test/ubuntu:v1:

cat docker/ubuntu.tar | docker import - test/ubuntu:v1

镜像命令:

docker images

docker pull

docker search

docker rmi   

docker build -t runoob/centos:6.7 .

docker tag

Dockerfile文件

什么是dockerfile?

Dockerfile是一个包含用于组合映像的命令的文本文档。可以使用在命令行中调用任何命令。 Docker通过读取Dockerfile中的指令自动生成映像。

docker build命令用于从Dockerfile构建映像。可以在docker build命令中使用-f标志指向文件系统中任何位置的Dockerfile。

例:

docker build -f /path/to/a/Dockerfile

Dockerfile的基本结构

Dockerfile 一般分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令,’#’ 为 Dockerfile 中的注释。

Dockerfile文件说明

图来自:www.cnblogs.com/panwenbin-l…

制作镜像

1、编写Dockerfile

2、docker build -t 127.0.0.1:5000/${镜像名称}:1.0 .