docker

狂神docker日记

https://blog.csdn.net/huangjhai/article/details/118854733

https://blog.csdn.net/Mr_YanMingXin/article/details/119504925


docker日志命令

1、docker logs -f --tails since="2022-04-15T09:12:00" roc-business-contract-center

2、docker logs -t roc-bussiness-rent | grep -30 '"signTimeEnd":"2022-04-19"'

一、为什么要用docker

一款产品开发到上线,没有docker的时候,开发一般都是打成war包给运维,运维去部署。此时如果出现环境差异,会导致代码部署的时候起不来。并且环境配置也是相当麻烦,换一台机器就要重来一次,费时费力。而docker的作用就是带环境安装,也就是说,软件安装的时候把原始环境一模一样的复制过来。

docker只所以比虚拟机快是因为他是直接利用宿主机的硬件内存什么的,而虚拟机是自己在宿主机上开辟一块内存给自己用,无法最大化利用宿主机的性能


常用docker命令

1、docker 启动命令systemctl start docker

2、查看已有镜像    docker images

3、拉取镜像 docker pull #(#号表示要拉取的镜像名)

4、新建并启动容器 docker  run [options] image                        

     options说明  --name“容器新名字”,为容器指定一个名字

     -d   后台运行容器,并返回容器id,也即启动守护式容器(如果docker发现没有前台应用,就会自动停止,也就是容器启动的时候发现没有提供服务,就会停止)

     -i 以交互模式运行容器,通常与-t同时适用

     -t   为容器重新分配一个伪输入终端,通常与-i同时使用

     -P    随机端口映射

    -p      指定端口映射,有以下四种格式

                    ip:hostPort:containerPort

                    ip::containerPort

5、删除镜像docker -rmi  # (#表示名称id等)

6、退出关闭容器 exit   ctrl+p+q 不关闭容器退出

7、查看运行时容器docker ps  查看曾经运行的容器 docker ps -a  查看曾经运行的容器id docker ps -aq (此处的曾经运行的容器包括正在运行的和历史运行的)

8、删除容器 docker rm  #(#表示id等,不能删除运行时容器,如果要删除运行时,需要docker rm -f)

9、docker inspect  查看docker源数据

10、docker exec -it 06cd35f9ea4f   (进入容器)docker attach 06cd35f9ea4f   (exec相当于开启一个新的终端,可以在里面操作,attach进入正在运行的终端)

11、拷贝命令:docker cp 3fe5a65cd9ad:/home/test.java /home/老王  (将容器中的test.java拷贝到宿主机的home/老王文件夹下)


1.docker run

docker run只有在第一次运行时使用,将镜像放到容器中,以后再次启动这个容器的时候,只需要使用命令docker start就可以。

docker run相当于执行了两步操作:将镜像(Image)放到容器(Container)中,这一步过程叫做docker create,然后将容器启动,使之变成运行时容器(docker start)。

2.docker start

docker start的作用是:重新启动已经存在的容器。也就是说,如果使用这个命令,我们必须先要知道这个容器的ID、或者这个容器的名字,我们可以使用docker ps命令找到这个容器的信息。

3.docker stats查看内存使用情况

4、拉下的docker镜像可能缺少了些东西,比如tomcat原生镜像的webapps下的文件夹是空的,这就会导致我们运行tomcat容器就会无法访问,此时我们在容器内把webapp.dist文件夹下的内容拷贝到webapp下就可以,但是我们再次运行还是为空,这时候我们可以把我们修改完毕的容器再次打成一个镜像,运行这个新的镜像就好,我们配置好容器后运行 docker commit - a=" kuangshen" - m= " add webapps app" 7e119b82cff6 tomcat02:1. 0 命令就能把配置好的容器重新打成一个镜像。-a是作者,-m是提交信息,后面的是容器id,然后是名称:tag

5、docker run -it -v 主机目录地址 容器内地址 进行挂载(挂载是个双向的过程,修改主机内文件,如果容器依然存在,即便容器已经停了,容器内文件也会跟着变)

可以通过docker inspect进行查询是否挂载成功

6、mysql安装   docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7(-e表示修改配置,设置密码为123456)

7、挂载分为匿名挂载和匿名挂载,一般用具名挂载

docker run -d -p 3310:3306 -v 名称:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7

这个名称就是具名名称:通过docker volume ls 查看具名挂载的名,通过docker volume inspect 可以查看挂载的目录


数据卷容器,新创建一个docker01的容器,然后docker02的容器继承docker01,此时docker02和docker01数据互通,用的是数据券技术。他是一个拷贝的概念,如果删除了docker01,docker02不影响

docker run -it --name docker02 --volumes-from docker01 kuangshen/centos

二、虚拟机系统和容器的区别

1、传统虚拟机,虚拟出一条硬件.运行一个完整的操作系统 ,然后在这个系统上安装和运行软件

2、容器内的应用直接运行在宿主机的内容,容器是没有自己的内核的,也没有虚拟我们的硬件,所以就轻便了

3、每个容器问是互相隔离.每个容器内都有一个属于自己的文件系统.互不形响。

三、docker相关知识

1、docker的默认工作路径  /var/lib/docker

四、dockerFile


ONBUILD  :当构建一个被继承的DorkerFile时,就会执行一个onbuild命令

COPY    :类似add命令,将文件拷贝到目录中

ENV    :设置环境变量

ENTRYPOINT和CMD的区别:CMD只有最后一个会生效run的时候如果设置了其他命令,他会替换掉cmd,ENTRYPOINT会追加在后面

FROM centos

MAINTAINER caiminyang<12345>

ENV MYPATH /user/local

WORKDIR $MYPATH

RUN yum -y install vim

RUN yum -y install net-tools

EXPOSE 80

CMD echo $MYPATH

CMD echo "-----end-----"

CMD /bin/bash

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

推荐阅读更多精彩内容

  • 容器简介 什么是 Linux 容器 Linux容器是与系统其他部分隔离开的一系列进程,从另一个镜像运行,并由该镜像...
    猿天下阅读 356评论 0 1
  • 1:什么是容器? 容器就是在隔离的环境中运行的一个进程,如果进程停止,容器就会退出。隔离的环境拥有自己的系统文件,...
    UncleZ_strive阅读 199评论 0 4
  • docker(dockerfile,镜像库、网络安装部署) 1. Docker介绍 1.1 什么是容器? 1.2 ...
    呆呆了阅读 264评论 0 0
  • 概述 是什么 解决了运行环境和配置问题软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术。 一次封装,到处运...
    none_title阅读 634评论 0 0
  • docker快速入门01docker快速入门02KVM和Docker的对比 docker常用命令 什么是容器? 容...
    酷酷的伟阅读 863评论 0 5