docker学习笔记

GluttonousZX 2018-09-29

一、概念

Docker 镜像(Images)

Docker 镜像是用于创建 Docker 容器的模板。

Docker 容器(Container)

容器是独立运行的一个或一组应用。 是镜像的实例,镜像-容器关系类似于类-对象

Docker 客户端(Client)

Docker 客户端通过命令行或者其他工具使用 Docker API (https://docs.docker.com/reference/api/docker_remote_api) 与 Docker 的守护进程通信。

Docker 主机(Host)

一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。

Docker 仓库(Registry)

Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。

Docker Hub(https://hub.docker.com) 提供了庞大的镜像集合供使用。

Docker Machine

Docker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。

二、安装

$ brew cask install docker

三、使用

(1)基本

1.查看版本

$ docker --version

2.Docker 以 ubuntu15.10 镜像创建一个新容器,然后在容器里执行 bin/echo "Hello world",然后输出结果

$ docker run ubuntu:15.10 /bin/echo "Hello world"

3.让docker运行的容器实现"对话"的能力

  • -t:在新容器内指定一个伪终端或终端。
  • -i:允许你对容器内的标准输入 (STDIN) 进行交互。
$ docker run -i -t ubuntu:15.10 /bin/bash

4.以进程方式运行的容器 返回容器ID 容器里面不断输入hello word

$ docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"

5.查看docker中的容器ID

$ docker ps

6.根据容器ID查看容器内的标准输出 可以使用-f 像使用 tail -f 一样来输出容器内部的标准输出

$ docker logs a0ef3a20b338

7.停止容器

$ docker stop a0ef3a20b338

8. 查看容器内部运行的进程

$ docker top a0ef3a20b338

9. 查看 Docker 的底层信息

$ docker inspect a0ef3a20b338

10.删除容器

$ docker rm a0ef3a20b338

(2)运行Web应用

在docker容器中运行一个 Python Flask 应用来运行一个web应用

1.pull镜像

  • -d:让容器在后台运行。
  • -P:将容器内部使用的网络端口映射到我们使用的主机上。
runoob@runoob:~# docker pull training/webapp # 载入镜像
runoob@runoob:~# docker run -d -P training/webapp python app.py

2.用docker ps查看容器ID 可以看到Port中 0.0.0.0:32768->5000/tcp 字样 本机32768映射到容器中的5000端口,访问 http://localhost:32768/ 可看到Hello world!

3.通过 -p 参数来设置不一样的端口

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

docker学习笔记

相关推荐