简介

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

一个完整的Docker有以下几个部分组成:
  1. DockerClient客户端
  2. Docker Daemon守护进程
  3. Docker Image镜像
  4. DockerContainer容器

安装环境(Linux)

查看centos版本: uname -r

Docker 要求CentOS 系统的内核版本高于 3.08

升级软件包及内核:yum update

安装Docker

  1. 安装: yum install docker
  2.  
  3. 启动 docker: systemctl start docker
  4.  
  5. 查询docker版本: docker -v
  6.  
  7. docker服务设为开机启动:systemctl enable docker
  8.  
  9. 停止docker: systemctl stop docker

常用操作:

  1、镜像操作

  1. 检索: docker search 关键字 例如:docker search redis
  2. 拉取: docker pull 镜像名:tag :tag是可选的,tag表示标签,多为软件的版本,默认是latest
  3. 列表: docker images (查询所有本地镜像)
  4. 删除: docker rmi image-id (删除指定的本地镜像)

  2、容器操作

运行: docker run --name container-name -d image-name
说明: -name: 自定义容器名
    -d: 后台运行
    image-name: 指定镜像模板
例如: docker run --name myredis -d redis

列表: docker ps (查询运行中的容器)
说明: 加上 -a 可以查看所有容器

停止: docker stop container-name/container-id
说明: 停止当前你运行的容器

启动: docker start container-name/container-id
说明: 启动容器

删除: docker rm container-id
说明: 删除指定容器

端口映射: -p 6379:6379
说明: -p:主机端口(映射)容器内部的端口
例如: docker run -d -p 6379:6379 --name myredis docker.io/redis
例如: docker run -d -p 8080:8080 tomcat
例如: docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 --name ES01 5e9d896dc62c

容器日志: docker logs container-name/container-id

查询防火墙状态: service firewalld status
关闭防火墙: service firewalld stop

安装docker-compose(方式一)

下载

  1. sudo curl -L https://github.com/docker/compose/releases/download/1.20.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

安装

  1. chmod +x /usr/local/bin/docker-compose

查看版本

  1. docker-compose version

安装docker-compose(方式二)

安装pip

  1. yum -y install epel-release
  2. yum -y install python-pip

确认版本

  1. pip --version

更新pip

  1. pip install --upgrade pip

安装docker-compose

  1. pip install docker-compose

查看版本

  1. docker-compose version

在使用docker时,有时候我们需要编辑配置文件,需要使用vim或者vi命令,但是会发现:

  1. root@76eb8d6dea73:/etc/rabbitmq# vi rabbitmq.conf
  2. bash: vi: command not found

这是因为vim没有安装,使用如下命令安装:

  1. apt-get install vim

一般而言,又会出现如下问题:

  1. Reading package lists... Done
  2. Building dependency tree
  3. Reading state information... Done
  4. E: Unable to locate package vim

此时需要:

  1. root@76eb8d6dea73:~# apt-get update

然后再:

  1. apt-get install vim

然后就可以了

Docker 镜像操作

  • 进入镜像: docker exec -it  镜像名称  /bin/bash
  • 退出镜像: docker exit
  • 重启镜像: docker restart 镜像名

Docker在Linux上 基本使用的更多相关文章

  1. Docker在Linux上运行NetCore系列(一)配置运行DotNetCore控制台

    转发请注明此文章作者与路径,请尊重原著,违者必究. 系列文章:https://www.cnblogs.com/alunchen/p/10121379.html 本篇文章操作系统信息 Linux:ubu ...

  2. 开始使用 Docker (Linux 上运行 SQL Server) 上的 SQL Server 容器 - SQL Server | Microsoft Docs

    原文:开始使用 Docker (Linux 上运行 SQL Server) 上的 SQL Server 容器 - SQL Server | Microsoft Docs 快速入门:使用 Docker ...

  3. Docker在Linux上运行NetCore系列(三)在Linux上使用Docker运行Asp.NetCore

    转发请注明此文章作者与路径,请尊重原著,违者必究. 系列文章:https://www.cnblogs.com/alunchen/p/10121379.html 开始说明 上几篇文章都是通过Linux运 ...

  4. Docker在Linux上运行NetCore系列(五)更新应用程序

    转发请注明此文章作者与路径,请尊重原著,违者必究. 本篇文章与其它系列文章不同,为了方便测试,新建了一个ASP.Net Core视图应用. 备注:下面说的应用,只是在容器中运行的应用程序. 查看现在运 ...

  5. Docker在Linux上运行NetCore系列(四)使用私有Nuget与多个本地包引用运行ASPNetCore

    转发请注明此文章作者与路径,请尊重原著,违者必究. 本篇文章演示了使用Dockerfile在Linux(ubuntu16.04)系统上构建ASPNetCore应用,并且在一个解决方案中存在多个项目之间 ...

  6. Docker在Linux上运行NetCore系列(二)把本地编译好的镜像发布到线上阿里云仓库

    转发请注明此文章作者与路径,请尊重原著,违者必究. 系列文章:https://www.cnblogs.com/alunchen/p/10121379.html 开始 本篇文章结束在本地创建完成镜像后, ...

  7. 使用 Docker 在 Linux 上托管 ASP.NET Core 应用程序

    说在前面 在阅读本文之前,您必须对 Docker 的中涉及的基本概念以及常见命令有一定了解,本文侧重实战,不会对相关概念详述. 同时请确保您本地开发机器已完成如下安装: Docker 18.06 或更 ...

  8. idea docker 连接 linux 上的 docker

    安装插件 Docker插件,首先需要在你的IDEA中安装Docker插件,定位到File-Setting-Plugins后搜索Docker Integration安装 配置Docker服务器,在IDE ...

  9. docker在linux上的安装

    docker安装在liunx环境上,我电脑用的是ubuntu系统的,需要下载对应系统的docker,我下载的是社区版,对着官方的命令敲就好了, 地址是:https://docs.docker.com/ ...

随机推荐

  1. .Net Core 商城微服务项目系列(十一):MQ消费端独立为Window服务+消息处理服务

    之前使用MQ的时候是通过封装成dll发布Nuget包来使用,消息的发布和消费都耦合在使用的站点和服务里,这样会造成两个问题: 1.增加服务和站点的压力,因为每次消息的消费就意味着接口的调用,这部分的压 ...

  2. HttpWebRequest上传多文件和多参数——整理

    1.整理HttpWebRequest上传多文件和多参数.较上一个版本,更具普适性和简易型.注意(服务方web.config中要配置)这样就可以上传大文件了 <system.webServer&g ...

  3. mui中判断是点击还是滑动

    判断和滑动是两种触发方式 滑动分为四种,上下左右(swipeup,swipedown,swipeleft,swiperight) 点击分为两种,点击和双击,一般用单机(tap) 根据自己不同的需求进行 ...

  4. 基于动态代理的WebAPI/RPC/webSocket框架,一套接口定义,多个通讯方式

    API/RPC/webSocket三个看起来好像没啥相同的地方,在开发时,服务端,客户端实现代码也大不一样 最近整理了一下,通过动态代理的形式,整合了这些开发,都通过统一的接口约束,服务端实现和客户端 ...

  5. Spring Boot (十一): Spring Boot 定时任务

    在实际的项目开发工作中,我们经常会遇到需要做一些定时任务的工作,那么,在 Spring Boot 中是如何实现的呢? 1. 添加依赖 在 pom.xml 文件中只需引入 spring-boot-sta ...

  6. (4)一起来看下mybatis框架的缓存原理吧

    本文是作者原创,版权归作者所有.若要转载,请注明出处.本文只贴我觉得比较重要的源码,其他不重要非关键的就不贴了 我们知道.使用缓存可以更快的获取数据,避免频繁直接查询数据库,节省资源. MyBatis ...

  7. js常用正则整理

    个人博客: http://mcchen.club //校验是否全由数字组成 function isDigit(s) { var patrn=/^[0-9]{1,20}$/; if (!patrn.ex ...

  8. css3——box-sizing属性

    很多朋友们可能会疑惑,不知道box-sizing属性是有什么作用,自己也很少会用到,但是想必不少人在做网页布局的时候经常遇到一个问题就是我明明设置了父元素设置了假如是宽高500px,5个子元素左浮动设 ...

  9. 基于Spring AOP实现的权限控制

    1.AOP简介 AOP,面向切面编程,往往被定义为促使软件系统实现关注点的分离的技术.系统是由许多不同的组件所组成的,每一个组件负责一块特定的功能.除了实现自身核心功能之外,这些组件还经常承担着额外的 ...

  10. Anrlr4 生成C++版本的语法解析器

    一. 写在前面 我最早是在2005年,首次在实际开发中实现语法解析器,当时调研了Yacc&Lex,觉得风格不是太好,关键当时yacc对多线程也支持的不太好,接着就又学习了Bison&F ...