Docker 简述和基本使用(扫盲级别)
Docker组成和类别 (附带资源)
首次,Docker容器是相似于 沙箱机制(Sandboxie):网络虚拟执行环境
组成
- Docker Click:客户端
- Docker Daemon: 守护进程
- Docker Image: 镜像
- Docker Containter: 容器
补充
- Docker主机 - Host
- Docker仓库 - Registry
- Docker Machine -部署(参考博客:Docker Machine linux)
容器和镜像的关系
一个镜像可以被重复利用创建新的镜像,这会使得镜像可以被高效的存储和创建。
一个镜像可创建多个容器,每个容器都有各自的一个可读写层,这些层相互独立共享下面的镜像。
Docker | C# |
---|---|
镜像 | 类 |
容器 | 对象 |
- 镜像就像预加载、纯净的各类环境或者服务,里面所有的都是静态的
- 容器就像是把这些环境和服务组合运行起来,组成程序所需要的环境,使用者可以进行shell交互。
Docker Daemon(守护进程)
Docker Daemon 作为服务器端接受来自用户请求的典型场景:
- 使应用的打包和部署自动化
- 创建轻量级私密的 PAAS(Platform-as-a-Service:平台即服务) 环境
- 实现自动化测试和持续的集成/部署
- 部署与扩展WebApp、数据库和后台服务
Docker 使用
在使用Docker之前希望您已经熟悉一些基本的linux命令 ,那会有助于您快速上手
在容器中运行一个程式
// 在容器中运行一个程式
-$ docker run ubuntu:15.10 /bin/echo "Hello Word"
- docker:Docker的二进制文件
- run: 与前面的docker组合运行一个容器
运行交互式容器
-$ docker run -it --name 容器名 -p 外部端口:内部端口 -d 镜像名
- -i:允许你对容器内的标准输入(STDIN)交互
- -t: 在新的容器中指定一个伪终端或者终端
- 如果运行数据库镜像的时候需要制定端口、用户名和密码
- 端口需要进行开放端口映射程序使用端口,例如:mysql:8031:3306 8031为对用户开放的端口,3306则是mysql数据库占用的端口。
启动容器(后台模式)
//查看运行容器
-$ docker ps
//查看所有的容器(包含运行和停止的容器)
-$ docker ps -a
- Container:容器ID
- Names:自动分配容器名称
//查看容器内标准输出
-$ docker logs 容器名(容器ID)
// -t 输出日志所发生的时间 -f 跟踪实时日志
-$ docker logs -f -t 容器名(容器ID)
//停止容器
-$ docker stop 容器名(容器ID)
//删除容器
-$ docker rm 容器名(容器ID)
//删除已经停止的所有容器
-$ docker rm (docker ps -a -q)
- 删除容器之前需要停止容器
//删除镜像
-$ docker rmi 镜像名(镜像ID)
//删除镜像
//进入到容器的内部,要注意的是通过 -it 的命令才可以在容器内部进行操作
-$ docker extc -it 容器名(容器ID) bash
资源
Docker官方英文资源:
-
docker官网:http://www.docker.com
-
Docker Windows 入门:https://docs.docker.com/docker-for-windows/
-
Docker CE(社区版) Ubuntu:https://docs.docker.com/install/linux/docker-ce/ubuntu/
-
Docker mac 入门:https://docs.docker.com/docker-for-mac/
-
Docker 用户指引:https://docs.docker.com/config/daemon/
-
Docker 官方博客:http://blog.docker.com/
-
Docker Hub: https://hub.docker.com/
-
Docker开源: https://www.docker.com/open-source
Docker中文资源:
-
Docker中文网站:https://www.docker-cn.com/
-
Docker安装手册:https://docs.docker-cn.com/engine/installation/
Docker 国内镜像:
-
阿里云的加速器:https://help.aliyun.com/document_detail/60750.html
-
网易加速器:http://hub-mirror.c.163.com
-
官方中国加速器:https://registry.docker-cn.com
-
ustc的镜像:https://docker.mirrors.ustc.edu.cn
-
daocloud:https://www.daocloud.io/mirror#accelerator-doc(注册后使用)