It's our wits that make us men.

docker 容器基本使用

Posted on By eatMelon-Masses

背景

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后/发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

场景

  • Web 应用的自动化打包和发布。

  • 在服务型环境中部署和调整数据库或其他的后台应用。

架构

  • Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。
  • Docker 容器通过 Docker 镜像来创建。
  • 容器与镜像的关系类似于面向对象编程中的对象与类。
DOCKER容器 面向对象
容器 对象
镜像

架构图

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。

基本使用

1. 我们可以直接输入docker,查看docker客户端所有命令选项。
2. 也可以直接输入 docker command –help 查看指定命令基本使用
3. 运行一个web应用
docker pull training/webapp #载入镜像
docker run -d -P training/webapp python app.py 

参数说明

-d:让容器在后台运行
-P: 将容器后台使用的网络端口映射到我们主机上
4.查看容器
runoob@runoob:~#  docker ps
CONTAINER ID        IMAGE               COMMAND    ...        PORTS                
d3d5e39ed9d3        training/webapp     "python app.py"     ...        0.0.0.0:32769->5000/tcp

容器使用

1. 停止容器
docker stop [CONTAINER ID | NAMES]
2. 重启容器
docker restart  [CONTAINER ID | NAMES]
3. 启动容器
docker start  [CONTAINER ID | NAMES]
4.移除容器
docker rm  [CONTAINER ID | NAMES]   	

镜像使用

知识点:
  • 管理本地的Docker 主机镜像
  • 创建镜像

1. 列出镜像列表
docker images
2. 获取一个新镜像
docker pull centos:6 	
3. 查找镜像
docker search centos
4. 创建镜像
- 从已经创建容器中更新镜像,并且提交这个镜像. - 使用 Dockerfile 指令来创建一个新镜像
5. 更新镜像
更新镜像之前我们需要使用镜像创建一个容器
docker run -it centos:7 /bin/bash

运行任意指令修改该容器环境
窗口输入exit退出容器环境
我们通过commit命令来提交副本

root@123:~$ docker commit -m="has update" -a="authorName" e218edb10161 username/centos:v2
-m:备注信息	
e218edb10161:容器id
username: docker hub 账户名
centos:仓储名
v2:tag名

以下部分未完待续…..

6. 构建镜像
7. push镜像到远程仓库
8. 镜像节点加速
网站 地址
docker官方中国区 https://registry.docker-cn.com
网易 http://hub-mirror.c.163.com
ustc https://docker.mirrors.ustc.edu.cn
阿里 需要阿里云开发者账号:在控制台->容器与镜像服务->镜像中心->镜像加速器

推荐使用阿里的节点