DOCKER 开发学习记录

DOCKER常用命令及参数

  DOCKER镜像管理命令:

    检索:docker search image_name

    下载:docker pull image_namge

    查看本地镜像:docker images

    删除:docker rmi image_id

  DOCKER容器命令:

    运行:

      以守护进程方式启动:docker run --name container_name -d  image_name

      以交互方式启动,并进行命令行界面:docker run --name contain_name -i -t image_name

        ctrl-z退出当前命令行,docker attach contain_name再进入

        --link=container_name or id:name 使用这个选项在你运行一个容器时,可以在此容器的/etc/hosts文件中增加一个额外的name主机名,这个名字为container_name的容器的IP地址的别名。这使得新容器的内部进程可以访问主机名为name的容器而不用知道它的Ip

    查看:docker ps 

        -a:查看所有的容器包括已经停止运行的

    停止:docker stop contianer_name/contain_id

    启动:docker start container_name/container_id

    端口映射:docker run -d -p 6378:6379 --name port-redis redis

    删除:docker rm container_id/container_name

DOCKERFILE:创建自定义image,包含用户指定的软件,依赖等

  当前目录下包含dockerfile,使用命令build来创建新的image,命名为edwardsbean/centos6-1.7

    docker build -t edwardsbean/centos6-1.7

  dockerfile的关键字

    FROM:基于哪个镜像

    RUN:安装软件

    MAINTAINER:镜像创建者

    CMD:container启动时执行的命令,但一个dockerfile中只能有一个CMD命令,多条执行最后的一条

    ENTRYPOINT:同CMD,但是如dockerfile中有CMD ["echo", "hello world"]和ENTRYPOINT ["echo", "hello world"]时,执行docker run image_name dir,前一个会输出目录信息,后一个是hello world dir,和CMD用于执行初始化脚本

    USER:使用哪个用户跑

    EXPOSE:开启的端口

    ENV:环境变量(ENV <key> <VALUE>)

    ADD:将文件拷贝到image的文件系统中,本地,URL( ADD <src> <dst>)

    COPY:本地文件首先用,不解压(COPY <src> <dst>)

    VOLUME:将本地的文件或其他container文件挂载到container中,VOLUME mountpoint

    WORKDIR:切换目录,对RUN CMD ENTRYPOINT生效

FROM java:8-jre
MAINTAINER m242565210

ADD ./apache-tomcat-8.5.23.tar.gz /opt/
ENV TOMCAT_HOME /opt/apache-tomcat-8.5.23
ENV PATH $PATH:$TOMCAT_HOME/bin

EXPOSE 8080

WORKDIR /opt/apache-tomcat-8.5.23/bin
ENTRYPOINT sh ./startup.sh && 
    tail -f /opt/apache-tomcat-8.5.23/logs/catalina.out 

  Docker容器后台运行,就必须有一个前台进程。容器运行的命令如果不是那些一直挂起的命令(比如运行top,tail),就是会自动退出的

COMPOSE的命令

  build(构建或重构服务),help,kill,logs,port,ps,pull,restart,rm(删除停止的容器),run(运行一个一次性命令),start,stop,up

原文地址:https://www.cnblogs.com/m2492565210/p/7884445.html