官网:https://www.docker.com/
===== 0 官方 tutor =====
1 clone
docker run --name repo alpine/git clone https://github.com/docker/getting-started.git
docker cp repo:/git/getting-started/ .
2 build
cd getting-started
docker build -t docker101tutorial .
3 run
docker run -d -p 80:80 --name docker-tutorial docker101tutorial
4 share
docker tag docker101tutorial {userName}/docker101tutorial
docker push {userName}/docker101tutorial
===== 1 基本命令 =====
==== 查看 docker 版本====
docker --version
==== 登录registry ====
# 登录 docker hub
docker login
# 登录指定 registry
docker login xxx.com
==== 列出 docker 镜像 ====
docker image ls
docker images
==== 列出 docker 容器 ====
docker ps
docker ps --all
==== 运行容器 ====
docker run hello-world
# --publish,将宿主机的 8000 端口映射到容器的 8080 端口
# --detach,后台运行
# --name,指定容器的名称
docker run --publish 8000:8080 --detach --name bb bulletinboard:1.0
# 运行一次立即退出
docker run -it --rm bulletinboard:1.0 /bin/bash
==== 停止容器 ====
docker stop bb
==== 删除容器 ====
# --force,可以删除正在运行中的容器
docker rm --force bb
==== 生成镜像 ====
# 根据 Dockerfile 生成镜像
docker build --tag bulletinboard:1.0
docker build --tag bulletinboard:1.0 .
# 使用修改后的容器生成镜像(保存容器)
docker commit -a "runoob.com" -m "my apache" a404c6c174a2 mymysql:v1
==== 推送镜像到远程仓库(docker hub)====
docker tag bulletinboard:1.0 /bulletinboard:1.0
docker push /bulletinboard:1.0
===== 2 组合拳 =====
==== 删除带某个 tag 的所有 docker 镜像 ====
repo_tag="abcdefg"
docker rmi -f $(docker images|grep $repo_tag|awk '{print $3}'|uniq)