1. Docker 资源
英文资源
- Docker 官网:https://www.docker.com/
- Docker 官方文档:https://docs.docker.com/
- Docker windows入门:https://docs.docker.com/windows/
- Docker Linux 入门:https://docs.docker.com/linux/
- Docker mac 入门:https://docs.docker.com/mac/
- Docker 用户指引:https://docs.docker.com/engine/userguide/
- Docker 官方博客:http://blog.docker.com/
- Docker Hub:https://hub.docker.com/
- Docker 开源:https://www.docker.com/open-source
- Docker Toolbox:https://www.docker.com/products/docker-toolbox
中文资源
- Docker中文网站:http://www.docker.org.cn
- Docker安装手册:http://www.docker.org.cn/book/install.html
- 一小时Docker教程:https://blog.csphere.cn/archives/22
- Docker 从入门到实践:http://dockerpool.com/static/books/docker_practice/index.html
- Docker中文指南:http://www.widuu.com/chinese_docker/index.html
- 菜鸟教程命令大全:http://www.runoob.com/docker/docker-command-manual.html
API 资源
- Docker SDKs:https://docs.docker.com/engine/api/sdks
- Docker.DotNet:https://github.com/Microsoft/Docker.DotNet
2. docker-machine 命令
使用 Windows PowerShell 使用 docker-machine
说 明 | 命 令 |
---|---|
查询docker坏境变量 | docker-machine env |
查询所有虚拟机 | docker-machine ls |
创建一个docker虚拟机 | docker-machine create --driver=virtualbox default |
创建阿里云镜像虚拟机 | docker-machine create --engine-registry-mirror=https://xxxxxx.mirror.aliyuncs.com -d virtualbox default |
启动docker虚拟机 | docker-machine start default |
停掉docker虚拟机 | docker-machine stop default |
移除docker虚拟机 | docker-machine rm default |
PowerShell运行docker命令 | docker-machine env default | Invoke-Expression |
ssh运行docker | docker-machine ssh default |
3. 镜像加速
Docker Toolbox 更换镜像源的方法
- docker-machine ssh default
- sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=加速地址 |g" /var/lib/boot2docker/profile
- exit
- docker-machine restart default
阿里云镜像加速设置
登录地址:https://cr.console.aliyun.com 点击 Docker Hub 镜像站点获取镜像地址。
安装/升级你的Docker客户端
对于Windows 10 以下的用户 推荐使用 Docker Toolbox
- Toolbox的介绍和帮助:mirrors.aliyun.com/help/docker-toolbox
- Windows系统的安装文件目录:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/
对于Windows 10 以上的用户 推荐使用 Docker for Windows
- Windows系统的安装文件目录:http://mirrors.aliyun.com/docker-toolbox/windows/docker-for-windows/
如何使用Docker加速器
- 创建一台安装有Docker环境的Linux虚拟机,指定机器名称为default,同时配置Docker加速器地址。
- docker-machine create --engine-registry-mirror=https://xxxxxx.mirror.aliyuncs.com -d virtualbox default
查看机器的环境配置,并配置到本地,并通过Docker客户端访问Docker服务。
docker-machine env default
eval "$(docker-machine env default)"
docker info
注意
Docker for Windows 和 Docker Toolbox是不兼容,如果同时安装两者的话,需要使用hyperv的参数启动。docker-machine create --engine-registry-mirror=https://xxxxxx.mirror.aliyuncs.com -d hyperv default
Docker for Windows 有两种运行模式,一种运行Windows相关容器,一种运行传统的Linux容器。同一时间只能选择一种模式运行。
4. docker常用命令
镜像仓库
命 令 | 说 明 | 例子 |
---|---|---|
search | 从Docker Hub查找镜像 | 查看 |
pull | 从镜像仓库中拉取或者更新指定镜像 | 查看 |
login/logout | 登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub | 查看 |
push | 将本地的镜像上传到镜像仓库,要先登陆到镜像仓库 | 查看 |
本地镜像管理
命 令 | 说 明 | 例子 |
---|---|---|
images | 列出本地镜像 | 查看 |
rmi | 删除本地一个或多少镜像 | 查看 |
tag | 标记本地镜像,将其归入某一仓库 | 查看 |
build | 使用Dockerfile创建镜像 | 查看 |
history | 查看指定镜像的创建历史 | 查看 |
save | 将指定镜像保存成 tar 归档文件 | 查看 |
import | 从归档文件中创建镜像 | 查看 |
容器生命周期管理
命 令 | 说 明 | 例子 |
---|---|---|
run | 创建一个新的容器并运行一个命令 | 查看 |
exec | 在运行的容器中执行命令 | 查看 |
start/stop/restart | 启动/停止/重启一个或多少已经被停止的容器 | 查看 |
create | 创建一个新的容器但不启动它 | 查看 |
rm | 删除一个或多少容器 | 查看 |
容器rootfs命令
命 令 | 说 明 | 例子 |
---|---|---|
commit | 从容器创建一个新的镜像 | 查看 |
cp | 用于容器与主机之间的数据拷贝 | 查看 |
diff | 检查容器里文件结构的更改 | 查看 |
容器操作
命 令 | 说 明 | 例子 |
---|---|---|
ps | 列出容器 | 查看 |
port | 列出指定的容器的端口映射,或者查找将PRIVATE_PORT NAT到面向公众的端口 | 查看 |
inspect | 获取容器/镜像的元数据 | 查看 |
top | 查看容器中运行的进程信息,支持 ps 命令参数 | 查看 |
attach | 连接到正在运行中的容器 | 查看 |
events | 从服务器获取实时事件 | 查看 |
logs | 获取容器的日志 | 查看 |
wait | 阻塞运行直到容器停止,然后打印出它的退出代码 | 查看 |
5. 实例
Docker 端口映射
docker 指令:docker run -p ip:hostPort:containerPort redis
- 使用-p参数会分配宿主机的端口映射到虚拟机。
- IP表示主机的IP地址。
- hostPort表示宿主机的端口。
- containerPort表示虚拟机的端口。
支持的格式有三种:
- ip:hostPort:containerPort:映射指定地址的指定端口到虚拟机的指定端口(不常用)
如:127.0.0.1:3306:3306,映射本机的3306端口到虚拟机的3306端口。 - ip::containerPort:映射指定地址的任意端口到虚拟机的指定端口。(不常用)
如:127.0.0.1::3306,映射本机的3306端口到虚拟机的3306端口。 - hostPort:containerPort:映射本机的指定端口到虚拟机的指定端口。(常用)
如:3306:3306,映射本机的3306端口到虚拟机的3306端口。
查看端口映射情况:docker port NAME
进入容器
- docker exec -it 316b1334eb00 /bin/bash
- docker attach --sig-proxy=false 316b1334eb00
保存容器修改
- docker commit 698 learn/ping
Linux安装vim
- apt-get update && apt-get install vim