Docker 学习(一)

什么是容器?

一种虚拟化方案

操作系统级别的虚拟化

只能运行相同或者相似内核的操作系统

依赖于linux内核特性:Namespace和Cgroups(Control Group)

什么是docker?

将应用程序自动部署到容器

go语言开源引擎

Docker的特点

提供简单轻量的建模方式

职责的逻辑分离

快速高效的开发生命周期

鼓励使用面向服务的架构

Docker的基本组成

  • Docker Client 客户端

  • Docker Daemon 守护进程

  • Docker Image 镜像

  • Docker Container 容器

  • Docker Registry 仓库

ubuntu安装教程

安装前检查:

  1. 内核版本

    • uname -a

  2. 检查Device Mapper

    • ls -l /sys/class/misc/device-mapper

docker的第一个容器

$ docker run ubuntu:15.10 /bin/echo ‘hello world’
# docker: Docker 的二进制文件
# run:与前面的 docker 组合来运行一个容器
# Ubuntu:15.10指定要运行的镜像,Docker首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。
# /bin/echo ‘hello world’ 在启动的容器里执行的命令

容器的基本操作

启动容器

 docker run ubuntu echo 'hello world'

运行交互式容器

 docker run -i -t ubuntu:16.04 /bin/bash 
 # -i --interactive=true|false 默认是false 允许你对容器内的标准输入 (STDIN) 进行交互。
 # -t --tty=true|false 在新容器内指定一个伪终端或终端。

启动容器(后台模式)

 docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"
 2b1b7a428627c51ab8810d541d759f072b4fc75487eed05812646b8534a2fe63 # 容器ID
 # -d 后台运行

在容器内使用docker logs命令,查看容器内的标准输出

 docker logs 容器id

查看容器

 docker ps
 # 查看运行的容器
 docker ps -a
 # 查看所有容器
 docker ps -l
 # 查看最近容器

停止容器

 docker stop 容器id

 

进入运行中的后台容器

 docker exec -it 容器id bash

或者

 docker attach 容器id

推荐使用第一种方式进入,因为第一种方式退出后容器不会停止运行,但是第二种也可以通过Ctrl + P Q的方式将容器转为后台运行。

导出容器

 docker container ls -a
 docker export 76a23azsd2 > ubuntu.tar

导入容器快照

可以使用 docker import 从容器快照文件中再导入为镜像

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

删除容器

 docker rm 容器id
 # 清除所有处于终止状态的容器
 docker container prune

 

原文地址:https://www.cnblogs.com/welisit/p/10964960.html