# docker笔记

# docker常用命令组合

#start docker service
> service docker start
# OR
> systemctl start docker
# pull containers
> docker pull hello-world
# OR
> docker pull swaggerapi/swagger-ui
# run 
> docker run hello-world
# OR # start nginx with swagger-ui on port 80
> docker run -p 80:8080 swaggerapi/swagger-ui
# docker stop container_ID
> docker stop f120121
# OR stop all running containers
> docker stop $(docker ps -q)
# del containers
> docker rm f120121
# del all containers
> docker rm $(docker ps -a -q)
# stop name like %production-new% containers
docker stop $(docker ps |grep production-new|awk {'print $NF'})
 docker run --rm -v /e/code/jmtop/center-platform/product-cente
r:/local swaggerapi/swagger-codegen-cli generate -i /e/code/jmtop/center-platform/product-center/
product-center.yaml -l spring -o /e/code/jmtop/center-platform/product-center/out/spring

# 国内代理加速

# docker 加速器

github账号(soul0328@qq.com)登录的

https://www.daocloud.io/mirror#accelerator-doc

# daocloud.io加速

linux 加速

``curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://3b4493ef.m.daocloud.io

该脚本可以将 --registry-mirror 加入到你的 Docker 配置文件 /etc/docker/daemon.json 中。适用于 Ubuntu14.04、Debian、CentOS6 、CentOS7、Fedora、Arch Linux、openSUSE Leap 42.1,其他版本可能有细微不同。更多详情请访问文档 (opens new window)

Docker For Windows

在桌面右下角状态栏中右键 docker 图标,修改在 Docker Daemon 标签页中的 json ,把下面的地址:

http://3b4493ef.m.daocloud.io

加到"registry-mirrors"的数组里。点击 Apply 。

Docker Toolbox 等配置方法请参考帮助文档 (opens new window)

# 阿里云

[docker 容器镜像服务][https://cr.console.aliyun.com/?spm=5176.1971733.0.2.pPmon1&accounttraceid=0330561d-07cf-43a7-b3b8-151a35864797#/accelerator]

专属加速地址: https://a0ina6fy.mirror.aliyuncs.com

# 代理加速

设置公司香港的代理

10.10.17.8:808

# Dockerfile

Dockerfile由一行行命令语句组成,用#开头作为注释,一般Dockerfile分为四部分:基础镜像信息,维护者信息,镜像操作指令,容器启动时执行的指令。

Dockerfile指令

  • FROM
  • MAINTAINER
  • RUN
  • CMD
  • EXPOSE
  • ENV
  • ADD
  • COPY
  • ENTRYPOINT
  • VOLUME
  • USER
  • WORKDIR
  • ONBUILD
  1. FROM 格式: FROM <image> 或 FROM <image>:<tag>

    • from 指定
  2. MAINTAINER 格式:MAINTAINER <name>

    指定维护者的信息

  3. RUN 格式:RUN <command> 或 RUN ["","",""]

    每条指令将在当前镜像基础上执行,并提交为新的镜像。用"\"换行.

  4. CMD 格式:["","",""]

    指定启动窗口时执行的命令,每个Dockerfile只能有一条CMD指令,如果指定多条指令,只执行最后一条。

  5. EXPOSE 格式:EXPOSE <port> [<port>...]

    Docker服务端暴露端口,在容器启动时需要通过 -p 做端口映射。

  6. ENV 格式:ENV <key> <value>

    指定环境变量,会被RUN指令使用,并在容器运行时保存。

  7. ADD 格式:ADD <src> <dest>

  8. COPY格式:

# 镜像文件保存为文件(导出)和导入

保存为文件 : docker save -o <要保存的文件名> <要保存的镜像>

导入docker load --input <之前保存的文件名>