Docker学习笔记-2-Docker 基础教程与命令

本来想直接对照书:《容器与容器云》来直接写如何搭建一个Docker应用栈的,但是发现很多基础只是不理清楚只会更加懵逼。所以打算先写下基础命令与应用。以下内容主要参照Docker的官方文档中的Get started with Docker.下载安装什么的最基础的东西我就不聊了,直接总结一些知识点和基本命令吧。

镜像与容器

Docker技术引擎应用了镜像和容器技术。
Eg:docker run hello-word

  • docker:告诉你的机器启用docker程序
  • run : 一个用于创建并且运行Docker容器的一个子命令
  • hello-word:告诉docker容器需要加载哪个镜像

镜像是一些文件系统以及参数。它没有state以及从不变化。容器是一个正在运行的镜像的例子。

任何人都可以在docker hub上创建镜像。

创建自己的镜像

写一个Dockerfile

  • 作用:描述文件,环境,以及命令
  • 流程
    1. 创建一个文件命名为:Dockerfile
    2. 文件内容如下:
    From docker/whalesay:latest
    Run apt-get -y update && apt-get install -y fortunes
    CMD /user/games/fortune -a | cowsay
    

生成镜像

docker build -t docker-whale .
首先它读取FROM信息,然后生成一个临时容器执行Run命令,然后docker对于CMD行加入一个layer,删除之前的临时容器。

Docker命令总结

(注意下, 所有命令都需要管理员权限)

Docker 环境信息

docker info:检查docker 是否正确安装
docker version:docker版本信息

Docker学习笔记-2-Docker 基础教程与命令_第1张图片
Docker info

容器有三种状态:

  • Running
  • Pause
  • Stop
    注意:除非使用刪除容器命令,否則容器只是处于stop状态,并没有完全停止.

Docker 生命周期管理

  • docker run

    • 用法:docker run [OPTIONS] IMAGE [COMMAND] [ARG]
    • 示例[1]:sudo docker run ubuntu echo "hello world"
    • 解释[1]: 该命令从ubuntu镜像启动一个容器,并执行echo(command),helloworld为参数,打印出该参数。
    • 示例[2]:sudo docker run -i -t --name mytest ubuntu:latest /bin/bash
    • 解释[2]:```-i表示使用交互模式,-t表示分配一个伪终端,--name为指定启动容器名字,:latest为tag,用于区分同名容器,默认为latest.
  • docker start/stop/restart

    • 用法:只针对已经存在过的容器,让他们启动/停止/重启

Docker registry

  • docker pull

  • 用法: docker pull [OPTIONS] NAME:[:TAG]

  • 作用:从远程的docker hub拉下镜像

  • docker push

    • 用法: docker push NAME[:TAG]
    • 作用:本地image 或者repo推送到docker hub

镜像管理

  • docker images
    • 用法:docker images [OPTIONS] [NAME]
    • 作用:列出所有本地已下载镜像

你可能感兴趣的:(Docker学习笔记-2-Docker 基础教程与命令)