Docker | docker-compose 笔记记录

Docker | docker-compose 笔记记录

[TOC]

一、docker 常用命令:

  • docker镜像相关命令

    # 查看所有镜像
    docker images
    # 根据名查看镜像,例如:
    docker images tomcat
    # 删除镜像
    docker rmi [镜像名]或[镜像id]
    # 删除所有镜像,根据id删除
    docker rmi $(docker images -aq)
    
  • docker容器相关命令

    # 查看运行的容器
    docker ps
    # 查看所有的容器
    docker ps -a 
    # 删除容器
    docker rm [-f](强制删除,删除运行的容器需要-f) [容器名]或[容器id] 
    # 删除所有容器
    docker rm -f $(docker ps -aq)
    # 根据镜像id/名称启动一个容器
    docker run [-i] [-t] -[d] [--name(指定容器的名称,例如:--name mytomcat)] [-p](指定端口,例如:8080:8080,宿主的8080映射容器的8080端口) [-v(目录挂载,宿主目录:容器目录),例如:-v /usr/local:/usr/data] 镜像名/镜像id [/bin/bash]
    # 启动容器
    docker start 容器名字/容器id
    # 重启容器
    docker restart 容器名字/容器id
    # 停止容器
    docker stop 容器名字/容器id
    
  • 查看容器信息

    [root@localhost tiger-test]# docker inspect --help
    
    Usage:  docker inspect [OPTIONS] NAME|ID [NAME|ID...]
    
    Return low-level information on Docker objects
    
    Options:
      -f, --format string   Format the output using the given Go template
      -s, --size            Display total file sizes if the type is container
          --type string     Return JSON for specified type
      # docker inspect 返回的是 JSON 格式的信息,如果您想获取其中指定的一项内容,可以通过 -f 来指定,如获取镜像大小:    
     # 查看tomcat容器信息
     docker ps inspect tomcat/容器id
     # 根据当前的容器生成新的镜像
     docker commit -a="author"(作者) -m="描述" my-tomcat:1.0(容器id/容器名 新镜像的名字和标签)
    
  • 查看容器日志

    docker logs -t -f [--tail 100(查看最后100日志)]
    

二、编写Dockerfile文件

  • Dockerfile 构建tomcat,java1.8 的镜像文件

    1. 编写Dockerfile文件

      # 制作tomcat镜像
      FROM centos
      MAINTAINER nzg<957608954@qq.com>
      # 把java和tomcat添加到容器中
      ADD ./apache-tomcat-7.0.105.tar.gz /usr/local/ 
      ADD ./jdk-8u251-linux-x64.tar.gz /usr/local/ 
      # 安装vim编辑器
      # RUN yum -y install vim
      # 设置工作访问是的目录,WORKIR,登录落脚点
      ENV MYPATH /usr/local
      WORKDIR $MYPATH
      # 匿名挂载卷,例如:把容器中的 /local/apache-tomcat-7.0.105/webapps 目录挂载到本机的/var/lib/docker/volumes/***
      VOLUME /local/apache-tomcat-7.0.105/webapps
      # 配置java和tomcat环境变量
      ENV JAVA_HOME /usr/local/jdk1.8.0_251 
      ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 
      ENV CATALINA_HOME /usr/local/apache-tomcat-7.0.105 
      ENV CATALINA_BASE /usr/local/apache-tomcat-7.0.105 
      ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin 
      # 容器运行是监听的端口
      EXPOSE 8080
      # 启动时运行tomcat
      CMD /usr/local/apache-tomcat-7.0.105/bin/startup.sh && tail -f /usr/local/apache-tomcat-7.0.105/logs/catalina.out
      
    2. 执行build命令,生成镜像

      # 到Dockerfile的目录,执行docker build 命令
      docker build -t tomcat:1.0 .
      

      命令说明:

      -t :镜像的名称:标签

      . :当前目录

    3. 启动容器

      docker run -it --network host --name shunlu-app -v /home/shunlu/:/usr/local/apache-tomcat-7.0.105/webapps/ -v /etc/resolv.conf:/etc/resolv.conf:ro -v /etc/localtime:/etc/localtime:ro --privileged=true -p 8080:8080 48b3b86285c1
      
      

三、镜像搜索和下载

  1. 搜索

    docker search 镜像名称
    
  2. 镜像拉取

    docker pull 镜像名称:版本号
    

四、镜像推送push

未完待续...

五、Docker 安装mysql5.7

https://www.cnblogs.com/jiefu/p/12204555.html

  • 启动命令
docker run --name mysql-5.7 -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d -i -p 3306:3306 mysql:5.7.32

六、docker-compose

参考

Docker Compose

  • 常用指令

    下面介绍一些在使用 Docker Compose 时常用的命令。
    1) docker-compose up
    用于部署一个 Compose 应用。
    
    默认情况下该命令会读取名为 docker-compose.yml 或 docker-compose.yaml 的文件。
    
    当然用户也可以使用 -f 指定其他文件名。通常情况下,会使用 -d 参数令应用在后台启动。
    2) docker-compose stop
    停止 Compose 应用相关的所有容器,但不会删除它们。
    
    被停止的应用可以很容易地通过 docker-compose restart 命令重新启动。
    3) docker-compose rm
    用于删除已停止的 Compose 应用。
    
    它会删除容器和网络,但是不会删除卷和镜像。
    4) docker-compose restart
    重启已停止的 Compose 应用。
    
    如果用户在停止该应用后对其进行了变更,那么变更的内容不会反映在重启后的应用中,这时需要重新部署应用使变更生效。
    5) docker-compose ps
    用于列出 Compose 应用中的各个容器。
    
    输出内容包括当前状态、容器运行的命令以及网络端口。
    6) docker-compose down
    停止并删除运行中的 Compose 应用。
    
    它会删除容器和网络,但是不会删除卷和镜像。
    
    • docker-compose 部署jar包

      创建docker-compose.yml 文件

      version: "3" #版本号
      services:
        my-springboot-service: #服务名称(不是容器名)
          image: ascdc/jdk8 #使用的镜像
          ports:
            - 8089:8089 #暴露的端口信息和docker run -d -p 80:80 一样
          restart: always #重启策略,能够使服务保持始终运行,生产环境推荐使用
          container_name: my-springboot-demo #容器名称
          #挂载文件ps:如果是挂载文件必须在容器中也指定名称,推荐是挂载文件夹,下面只是做个文件挂载的案例也可以
          #挂载文件夹/root/compose_test/jdk/:/data
          volumes:
            - /etc/localtime:/etc/localtime # 指定容器时间为宿主机时间
            - ./spring-demo-1.0.jar:/data/spring-demo-1.0.jar
          environment:
            - TZ=Asia/Shanghai #指定时区 上海
            - LANG=en_US.UTF-8 #中文乱码
          entrypoint: java -jar /data/spring-demo-1.0.jar #启动容器后执行的命令
      
  • extra_hosts:

    • 添加主机名映射。类似 docker client --add-host。

      extra_hosts:
          - "somehost:162.242.195.82"
          - "otherhost:50.31.209.229"
      
    • 以上会在此服务的内部容器中 /etc/hosts 创建一个具有 ip 地址和主机名的映射关系:

      162.242.195.82  somehost
      50.31.209.229   otherhost
      
    • 执行 docker-compose 命令

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 198,154评论 5 464
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,252评论 2 375
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 145,107评论 0 327
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,985评论 1 268
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,905评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,256评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,978评论 3 388
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,611评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,891评论 1 293
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,910评论 2 314
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,736评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,516评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,995评论 3 301
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,132评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,447评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,034评论 2 343
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,242评论 2 339

推荐阅读更多精彩内容