安装

镜像加速源

Docker 中国官方镜像

1
https://registry.docker-cn.com

DaoCloud 镜像站

1
http://f1361db2.m.daocloud.io

Azure 中国镜像

1
https://dockerhub.azk8s.cn

科大镜像站

1
https://docker.mirrors.ustc.edu.cn

image

下载别人的镜像

演示 Docker 安装 Redis

Docker 官方镜像仓库查找 Redis :https://hub.docker.com/
image
一个命令跑起来:

1
docker run -d -p 6379:6379 --name redis redis:latest

命令参考:https://docs.docker.com/engine/reference/commandline/run/

更多相关命令

查看当前运行中的容器

1
docker ps

查看镜像列表

1
docker images

删除指定 id 的容器

1
docker rm container-id

停止/启动指定 id 的容器

1
docker stop/start container-id

删除指定 id 的镜像

1
docker rmi image-id

查看 volume 列表

1
docker volume ls

查看网络列表

1
docker network ls

制作自己的镜像

为自己的 Web 项目构建镜像

  • 编写 Dockerfile
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    FROM node:11
    MAINTAINER easydoc.net

    # 复制代码
    ADD . /app

    # 设置容器启动后的默认运行目录
    WORKDIR /app

    # 运行命令,安装依赖
    # RUN 命令可以有多个,但是可以用 && 连接多个命令来减少层级。
    # 例如 RUN npm install && cd /app && mkdir logs
    RUN npm install --registry=https://registry.npm.taobao.org

    # CMD 指令只能一个,是容器启动后执行的命令,算是程序的入口。
    # 如果还需要运行其他命令可以用 && 连接,也可以写成一个shell脚本去执行。
    # 例如 CMD cd /app && ./start.sh
    CMD node app.js

Build 为镜像(安装包)和运行

编译 docker build -t test:v1

-t 设置镜像名字和版本号
命令参考:https://docs.docker.com/engine/reference/commandline/build/

运行 docker run -p 8080:8080 --name test-hello test:v1

-p 映射容器内端口到宿主机
--name 容器名字
-d 后台运行
命令参考文档:https://docs.docker.com/engine/reference/run/