Docker 使用笔记

mac下安装Docker

brew cask install docker

启动docker:进入launchpad,双击docker图标即可启动

Linux下安装Docker

https://yeasy.gitbooks.io/docker_practice/install/centos.html (CentOS)https://yeasy.gitbooks.io/docker_practice/install/ubuntu.html (Ubuntu)

Windows下安装Docker

https://yeasy.gitbooks.io/docker_practice/install/windows.html

Docker 概念

镜像:一个特殊的文件系统,提供容器运行所需的程序、库、资源等。可以把它看作一个类。

容器:容器的实质是进程,每个进程最好占用一个容器,比如 jenkins,wiki,jira,gitlab单独放在不同容器中。可以把它看作是镜像的一个实例。

仓库:相当于git的远程仓库,有公开的,也有私有的,表现形式是 :,每个标签即为一个远程镜像。

网络:Docker 允许通过外部访问容器或者容器互联的方式来提供网络服务。有多种网络模式。

数据管理:分为数据卷(volume)和挂载主机两种方式

  • 数据卷,是一个可供一个或多个容器使用的特殊目录,通过docker volume create vol_name 创建数据卷
  • 挂载主机,是挂载一个主机目录作为数据卷,docker容器启动时,通过 –mount 参数去实现
  • Docker 常用命令

    启动docker

    安装docker的时候已经提到如何启动docker

    镜像操作

    docker search 在官方仓库查找镜像

    获得镜像

    docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]

    # docker方式获取jenkinsdocker pull jenkins/jenkins:lts

    运行镜像(启动容器)

    docker run [选项] IMAGE [命令][参数..]

    # 启动jenkinsdocker run -d -v jenkins_home:/var/jenkins_home -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts# -d :–detach 后台运行容器# -v :–volume 绑定挂载目录# -p : 绑定端口,主机端口:容器端口 8080是web端口,50000是从属服务器使用端口

    列出镜像

    docker image ls 列出全部镜像

    docker image ls 列出部分镜像

    # 列表包含了 仓库名、标签、镜像 ID、创建时间 以及 所占用的空间。REPOSITORY TAG IMAGE ID CREATED SIZEb3log/solo latest deba8aac9495 4 days ago 150MB

    镜像体积

    docker system df

    虚悬镜像

    仓库名和标签都为 的镜像

    docker image ls -f dangling=true 查看虚拟镜像

    docker image prune 删除虚拟镜像

    删除本地镜像

    docker image rm [选项] [ …] 删除本地镜像

    docker image rm $(docker image ls -q image_name) 成批删除镜像,用在某个镜像可能有不同tag,但想全部删除的情况

    Dockerfile

    作用:定制镜像

    构建镜像:docker build [上下文路径/URL/-],(docker build -t -f . 是常用命令)

    Dockerfile 常用指令:

    FROM 指定基础镜像

    RUN 执行命令

    # 举个例子# stretch 是空白镜像FROM debian:stretch# RUN最多是42层,所以不要滥用RUN,一个RUN一般是一个步骤,比如下方的编译、安装 redis 可执行文件可以放在一个步骤里执行,用 && 可以串联命令RUN buildDeps=’gcc libc6-dev make wget’ && apt-get update && apt-get install -y $buildDeps && wget -O redis.tar.gz “http://download.redis.io/releases/redis-5.0.3.tar.gz” && mkdir -p /usr/src/redis && tar -xzf redis.tar.gz -C /usr/src/redis –strip-components=1 && make -C /usr/src/redis && make -C /usr/src/redis install && rm -rf /var/lib/apt/lists/* && rm redis.tar.gz && rm -r /usr/src/redis && apt-get purge -y –auto-remove $buildDeps

    COPY [–chown=:] … 复制文件

    • 源路径可以有很多个,甚至可以用通配符
    • 源路径是相对路径
    • 目标路径可以是绝对路径,也可以是相对于工作目录的相对路径

    ADD [–chown=:] … 比COPY更高级的复制文件

    • 源路径可以是URL、压缩文件(会自动解压到目标路径)

    CMD 容器启动命令

    • shell 格式: CMD
    • exec 格式: CMD [“可执行文件”, “参数1”, “参数2″…]
    • 参数列表格式:CMD [“参数1”, “参数2″…]。指定ENTRYPOINT指令后,用CMD指定具体参数
    • 注意:CMD 的命令不能是后台运行的命令!例如,不能是 CMD service nginx start
    • 注意:CMD 推荐使用exec格式编写
    • 注意:一个Dockerfile只能有一个CMD指令
    郑重声明:本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系管理员(admin#wlmqw.com)删除。
    (0)
    用户投稿
    上一篇 2022年6月24日
    下一篇 2022年6月24日

    相关推荐

    • 小米12 Ultra 联合徕卡 预计将于7月发布

      小米旗舰系列到目前为止,仅仅发布了小米12、小米12 Pro两款旗舰机型,而该系列最强的12 Ultra迟迟没有消息。不过,随着骁龙8gen1+的发布,以及小米徕卡战略合作的达成,…

      2022年6月16日
    • 新手必须掌握的Linux命令(3)

      文件目录管理命令 在Linux 系统的日常工作中,还需要掌握对文件的创建,修改,复制,剪切,更名与删除等操作。 touch 命令 touch 命令用于创建空白文件或设置文件的时间,…

      2022年8月29日
    • 红米note12参数怎么样 红米note12详细配置介绍

      红米note12参数配置怎么样?红米手机在昨日的发布会上正式公布了note12系列,共有4款新机,那么红米note12参数配置怎么样呢?下面就让小编为大家介绍一下红米note12参…

      2022年10月28日
    • 公司电脑不让用IM工具聊天?50行代码写个聊天室

      作者:小K 来源:麦叔编程 “ 今天教大家写个聊天室功能,该程序只有几十行代码,这比动辄几百兆的通讯软件包来说简直就是“神纯净版本”。而且关闭解释环境之后是不会留下任何信息痕迹的,…

      2022年6月21日
    • Go语言的跨平台能力到底有多强?看完你就知道了

      构建方式 对比于其他语言的程序,Go语言的跨平台能力是真的强,拿.Net和JAVA来说吧,.Net在.Net core出现之前是不能跨平台的,只能在windows上编译运行,即使是…

      2022年7月11日
    • 一种跳板机的实现思路

      本文介绍了一种跳板机实现思路,阐述了基本原理,并讲解了特点和相对优势。 一、 跳板机思路简介 本文所描述的跳板机(下文称为“jmp”)支持: Linux服务器 Windows服务器…

      2022年6月26日
    • 如何查看程序建立的会话,程序进程,排除木马程序

      一、运行WIN+R,输入CMD 二、输入netstat -n 回车 80端口打开为访问的网站 TIME_WAIT:意思是结束了这次连接 CLOSE_WAIT:是被动关闭连接是形成的…

      2022年7月7日
    • 推荐建设网站的7个步骤(建设网站的流程有哪些)

      随着科技的快速发展,网站建设已经越发简单了。现在建设一个网站,并不是一件很困难的事情。但是,要将一个网站完整的做出来,真的就那么简单吗?不是的。起码小编觉得,有很多朋友还是不知道建…

      2022年10月19日
    • 如何创建博客(如何创建博客网站)

      本文主要讲的是如何创建博客,以及和如何创建博客网站相关的知识,如果觉得本文对您有所帮助,不要忘了将本文分享给朋友。 怎么创建博客 创建博客 去下面的网站注册账号 1.使用QQ号开通…

      2022年11月8日
    • 浏览器怎么设置在同一个窗口打开很多标签窗口

      浏览器怎么设置在同一个窗口打开很多标签窗口?今天就教大家如何操作使用方法步骤。 浏览器怎么设置在同一个窗口打开很多标签窗口 1、打开ie浏览器,点击工具-internet选项-常规…

      2022年5月1日

    联系我们

    联系邮箱:admin#wlmqw.com
    工作时间:周一至周五,10:30-18:30,节假日休息