Docker 学习

Docker架构

  • 镜像(ImageDocker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
  • 容器(Container:镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
  • 仓库(Repository:仓库可看成一个代码控制中心,用来保存镜像。

Docker 使用客户端-服务器(C/S)架构模式,使用远程API来管理和创建Docker容器

Docker 容器通过 Docker 镜像来创建。

Linux系统启动过程

内核指导:当计算机打开电源后,BIOS开机自检,BIOS设置的启动设备时用来启动系统。操作系统接管硬件后,首先读入/boot目录下的内核文件

Docker允许在容器中运行应用程序,使用docker run 命令来在容器内运行一个应用程序。

1. Docker命令 查看 Docker 客户端的所有命令选项

runoob@runoob:~# docker

2. docker  command  --help 更深入的了解指定的 Docker 命令使用方法。

runoob@runoob:~# docker 命令名称  --help

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

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

Hello world

4. docker 的两个参数 -i -t,让 docker 运行的容器实现"对话"的能力

runoob@runoob:~$ docker run -i -t ubuntu:15.10 /bin/bash
root@0123ce188bd8:/#

5. 通过运行 exit 命令或者使用 CTRL+D 来退出容器。

root@0123ce188bd8:/#  exit
exit
root@runoob:~# 

6. docker ps 查看正在运行的容器

runoob@runoob:~$ docker ps
CONTAINER ID        IMAGE                  COMMAND              ...  
5917eac21c36        ubuntu:15.10           "/bin/sh -c 'while t…"    

CONTAINER ID: 容器 ID。                             IMAGE: 使用的镜像。

COMMAND: 启动容器时运行的命令。                   CREATED: 容器的创建时间。

STATUS: 容器状态-- created(已创建)    restarting(重启中) running Up(运行中)  removing(迁移中) paused(暂停) exited(停止)  dead(死亡)

PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。

NAMES: 自动分配的容器名称。

7. docker logs 容器ID  查看容器内的标准输出

runoob@runoob:~$ docker logs 2b1b7a428627

8. docker stop 容器ID    命令停止容器

9. 查看所有的容器命令docker ps -a

runoob@runoob:~$ docker ps

10. 启动已经停止的容器  

docker  start /restart   容器ID       

11. 后台运行docker服务    -d参数

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

12. 在使用 -d参数后,容器启动后会进入后台,

通过docker attach 进入容器

13. docker exec 命令 推出容器终端,但不会使容器终止

docker exec -it 243c32535da7 /bin/bash

14. 导出某个容器   docker export  容器ID  本地文件目录

$ docker export 1e560fca3906 > ubuntu.tar   
导出容器 1e560fca3906 快照到本地文件 ubuntu.tar

15. 导入容器快照   docker import 

将快照文件 ubuntu.tar 导入到镜像 test/ubuntu:v1:
$ cat docker/ubuntu.tar | docker import - test/ubuntu:v1
或者通过指定 URL 或者某个目录来导入
$ docker import http://example.com/exampleimage.tgz example/imagerepo

16. 删除容器  docker rm

$ docker rm -f 1e560fca3906     -----删除指定容器号的容器
$ docker container prune     -----------清理掉所有处于终止状态的容器

查看WEB应用容器  

1. docker ps 查看正在运行的容器    ---同上第九点

web应用容器有一个多出的信息  ports   可显示端口信息

2. -p  参数设置不一样的端口

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

3. docker port   查看指定ID容器的某个确定端口映射到宿主机的端口号

runoob@runoob:~$ docker port bf08b7f2cd89(容器ID
5000/tcp -> 0.0.0.0:5000
runoob@runoob:~$ docker port wizardly_chandrasekhar(容器名)
5000/tcp -> 0.0.0.0:5000
 

4. 查看web应用程序日志  docker log     -f 参数可以展示标准内容输出

runoob@runoob:~$ docker logs -f bf08b7f2cd89
 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
192.168.239.1 - - [09/May/2016 16:30:37] "GET / HTTP/1.1" 200 -
192.168.239.1 - - [09/May/2016 16:30:37] "GET /favicon.ico HTTP/1.1" 404 -

5. 查看web应用程序容器的进程  docker  top 容器名

runoob@runoob:~$  docker top wizardly_chandrasekhar
UID     PID         PPID          ...       TIME                CMDroot    23245       23228         ...       00:00:00            python app.py
  1.  重启web应用容器                          docker  start  + 容器名
  2. 查询最后一次创建的容器                      docker ps -l
  3. 移除web应用容器(容器一定是停止状态)     docker  rm  + 容器名

6. 列出本地主机上的镜像   docker images

REPOSITORY--镜像的仓库源             TAG--镜像标签   

IMAGE ID –镜像ID                              CREATED—镜像创建时间

DOCKer 镜像使用

当运行容器时,使用的镜像如果在本地中不存在docker 就会自动从 docker 镜像仓库中下载,默认是从 Docker Hub 公共镜像源下载。

列出主机所有镜像

docker image

搜索镜像

docker search 镜像名(例:httpd)

下载镜像

docker pull 镜像名

删除镜像

docker rmi 镜像名

创建镜像

  1. 从已经创建的容器中更新镜像,并且提交这个镜像
  2. 使用Dockerfile 指令来创建一个新的镜像
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值