资讯专栏INFORMATION COLUMN

Docker学习笔记

chadLi / 2213人阅读

摘要:学习背景近些年,如果你是一名开发,那么这个热门的技术名词你一定听说过,我也不例外,但是因为平时没接触过,所以一直都没动力去了解使用。

学习背景

近些年,如果你是一名开发,那么Docker这个热门的技术名词你一定听说过,我也不例外,但是因为平时没接触过,所以一直都没动力去了解使用。最近在折腾自己维护在github上的项目的时候,发现项目所依赖的外部环境比较多,比如zookeeper、redis、elasticsearch等等,如果都安装一遍的话比较麻烦,而且因为是自己整理平时积累用的项目,对数据也没什么要求,只要有这样一个环境能保证项目运行起来就行了。第一时间想到的就是利用docker容器,这样自己不但可以顺便学习一下这个热门技术,还可以把搭建成果作为这个项目的一部分让有兴趣研究的项目关注者直接在接触到这个项目的时候可以快速把环境搭建起来,可谓是一举两得。

有兴趣的朋友可以访问项目地址:https://github.com/MartinDai/...


安装 Docker Desktop

参考 https://www.docker.com/get-st...,安装并启动后就可以使用下面的这些命令了

docker 命令

docker --version

查看当前docker版本,可以顺便验证docker是否安装成功且启动好了

docker --help

查看docker命令帮助,包含所有支持的操作命令使用规则及简介

还可以看某个指令的详细帮助,如:docker images --help,docker所有命令都可以在最后加上--help来查看该命令的使用帮助

docker pull [OPTIONS] NAME[:TAG|@DIGEST]

下载镜像,如果没有指定镜像地址,默认从官方的hub下载指定的镜像,官方的hub提供了绝大多数热门的组件镜像,可以根据自己的需要进行搜索,这个网站有点类似github的模式,各个官方组件一般都会有比较详细的使用说明,比如Redis

可以使用docker pull redis下载最新版本的redis镜像

也可以指定下载的版本,如docker pull redis:5.0.5就可以下载5.0.5这个版本的镜像

当然有一些组件没有发布在官方的hub上,比如elasticsearch和kibana,这两个镜像需要从docker.elastic.co这个地址下载,可以使用docker pull docker.elastic.co/elasticsearch/elasticsearch:6.2.4下载

docker images

查看当前已下载的镜像列表

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

使用指定镜像创建一个新的容器并运行,例如我们想创建运行redis容器,则可以使用命令docker run --name my-redis -d redis,其中--namedocker run提供的参数,后面紧跟着的my-redis是对应的值,表示启动以后容器的名称,如果不指定则会使用随机生成的一个字符串。-d表示后台运行,如果不指定则启动后会自动进入容器控制台,并且退出控制台的同时会关闭容器。

docker container ls [OPTIONS]

查看容器,可以通过docker container ls查看当前运行的容器,或者通过docker container ls -a查看所有创建的容器

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

对指定的容器执行命令,我们可以通过执行docker exec -it my-redis /bin/bash进入我们刚刚启动的容器

docker stop [OPTIONS] CONTAINER [CONTAINER...]

停止容器,如果要停止上面启动的redis容器,则可以使用命令docker stop my-redis,指定了名字的好处立马就可以体现出来了,我们可以很精准的控制容器,而不需要去查询容器名称

docker-compose 命令

有时候项目依赖的外部环境比较多,但是又不想一个一个启动各个容器怎么办呢,docker-compose就是用来解决这个问题的,该命令可以通过使用指定的yml同时启动多个容器。

假如我们现在有个yml(具体yml规则可参考官方文档),且文件名为docker-compose.yml

version: "3.7" #标识docker-compose的版本,不同版本所支持的配置项有些不一样
services: #服务(也就是各个容器)配置
  redis: #服务名称,用于配置文件内关联使用
    image: redis:5.0 #镜像版本
    container_name: redis #容器名称
    command: redis-server /etc/redis/redis.conf #启动后执行的命令
    restart: always #启动失败是否重启
    volumes: #路径扩展映射配置
          - ./redis/:/etc/redis/ #把当前目录下的redis文件夹映射到容器中的/etc/redis文件夹,这样就可以在容器之外维护配置文件了
    ports: #端口映射配置
      - 6379:6379 #把本地的6379端口映射到容器的6379端口
    networks: #网络配置
      - net-cache
  memcached:
    image: memcached:1.5
    container_name: memcached
    restart: always
    ports:
      - 11211:11211
    networks:
      - net-cache
networks:
  net-cache:
    driver: bridge #配置桥接网络

进入该文件所在的目录,然后执行docker-compose up就可以启动redis和memcached这两个容器,如果要使用其他文件名,则可以使用-f参数来指定文件名,如docker-compose -f docker-compose-cache.yml up,如果需要后台运行,则可以在最后加上-d

有启动就有停止,如果想要停止docker-compose up启动的容器,可以执行docker-compose down命令停止所有组合的容器。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/27861.html

相关文章

  • Linux 学习笔记(四):Docker

    摘要:系统有两个程序服务端和客户端。其中服务端是一个服务进程,管理着所有的容器。客户端则扮演着服务端的远程控制器,可以用来控制的服务端进程。守护进程会处理复杂繁重的任务,例如建立运行发布你的容器。客户端和守护进程之间通过或者进行通信。 预期学习目标 Docker基本概念 配置本地Docker环境 容器的生命周期与配置 端口映射和容器链接 利用volume保存持久化容器数据 检查容器日志 监...

    ssshooter 评论0 收藏0
  • 慕课网_《Docker入门》学习总结

    摘要:时间年月日星期六说明本文部分内容均来自慕课网。必填用于执行命令,当执行完毕后,将产生一个新的文件层。可选指定此镜像启动时默认执行命令。可选用于指定需要暴露的网络端口号。可选向镜像中挂载一个卷组。 时间:2017年09月16日星期六说明:本文部分内容均来自慕课网。@慕课网:http://www.imooc.com 教学源码:无 学习源码:无 第一章:课程简介 1-1 课程介绍 Docke...

    CoorChice 评论0 收藏0
  • Docker 学习笔记

    摘要:学习笔记安装用的所以直接然后执行用于启动否则会出错后面的步骤执行不了安装官方包表示同步的表示同步的输出表示表示执行后删除表示的名称将目录挂载到防止没有权限访问挂载的目录指定端口映射与其他链接去除之间不互通 Docker 学习笔记. docker 安装 用的 centos7 所以直接 yum install docker 然后执行 systemctl start docker.se...

    itvincent 评论0 收藏0
  • docker 学习笔记

    摘要:下的使用笔记安装确认是否安装成功搜索镜像获取镜像查看本地所有镜像运行镜像,运行起来的镜像就叫做容器了,仔细看,你会发现终端交互的用户名变掉了,说明我们进入到了容器的内部。个人理解是因为产生数据需要映射。创建成功后会返回这个镜像的信息。 ubuntu 14.10下docker的使用笔记1 docker 安装 curl -sSL https://get.docker.com/ | sh ...

    jk_v1 评论0 收藏0
  • docker 学习笔记

    摘要:下的使用笔记安装确认是否安装成功搜索镜像获取镜像查看本地所有镜像运行镜像,运行起来的镜像就叫做容器了,仔细看,你会发现终端交互的用户名变掉了,说明我们进入到了容器的内部。个人理解是因为产生数据需要映射。创建成功后会返回这个镜像的信息。 ubuntu 14.10下docker的使用笔记1 docker 安装 curl -sSL https://get.docker.com/ | sh ...

    paulquei 评论0 收藏0
  • Docker学习笔记

    摘要:学习过程中主要参考的从入门到实践,以及因为是第一次写技术笔记会模仿另一位网友的从零开始学习的写法。 showImg(https://segmentfault.com/img/bVbokYX); 本文是我学习Docker的笔记,因为最近工作的原因,要用到docker工具,一开始抱着有需要什么就用什么的心态使用docker,但因为项目是强依赖docker,越来越多的问题因为docker成为...

    baukh789 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<