docker命令易错点整理

pause

docker pause可以暂时停止容器,以释放一部分CPU出来给其他服务使用
docker unpause可以解冻

docker stop vs kill

stop会首先尝试正常结束容器(发送SIGTERM信号给容器中的程序),如果程序没有响应的话,则强制结束容器(发送SIGKILL信号);
kill则会直接强制结束容器

参数简写

  1. -d
    --detach,即后台运行

  2. -i
    --interactive,让容器以交互式模式运行

  3. -t
    --tty,即为容器分配一个TTY终端

  4. -p
    --publish,即将容器中指定的端口暴露到外部主机,默认是tcp端口

数据卷备份

docker run --rm --volumes-from vol --v ${pwd}:/backup ubuntu tar zcvf /backup/data.tar.gz /data

加--rm表示结束时删除容器,加上--volumes-from 则表示顺便删除数据卷
当然如果数据卷被其他正在运行的容器使用,则不会被删除

在容器上制作镜像

必须exit出来,然后再执行docker commit,否则修改不会带到新镜像

Dockerfile指令

构建指令

  1. FROM

  2. MAINTAINER

  3. RUN
    指定shell命令

  4. ADD
    拷贝后权限变为0755,如果是可识别的压缩格式,会自动解压,可以是远程文件的url。

拷贝目录的话,是拷贝目录里头的文件,不包括目录本身

  1. COPY
    原样拷贝,不支持远程文件url

设置指令

  1. CMD
    只能存在一个,多个的话,执行最后的那一个。对于指定的参数,可以被run的时候传递的参数覆盖

  2. ENTRYPOINT
    不会被run指定的参数覆盖

  3. USER
    指定运行容器时的用户名,默认是root账户

  4. EXPOSE
    与--publish-all即-P配置使用,将dockerfile的所有暴露的端口,映射到主机的同样的端口号

  5. ENV

  6. VOLUME
    与--volume类似,挂载数据卷

  7. WORKDIR
    设置工作目录,如果设置多次,而且是相对路径,则每次都是相对之前的来。

  8. LABEL
    设置镜像的元属性

  9. ONBUILD
    指定被其他镜像作为基础镜像时运行的操作指令

run 指定env

--env VAR_NAME=VAR_VALUE

restart

--restart always
确保服务出现任何问题而意外结束时,自动重新启动。

关键字:docker, 容器, run, 镜像

版权声明

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部