简介

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

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

安装环境(Linux)

查看centos版本: uname -r

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

升级软件包及内核:yum update

安装Docker

安装: yum install docker

启动 docker: systemctl start docker

查询docker版本: docker -v

将docker服务设为开机启动:systemctl enable docker

停止docker: systemctl stop docker

常用操作:

  1、镜像操作

检索: docker search 关键字 例如:docker search redis
拉取: docker pull 镜像名:tag :tag是可选的,tag表示标签,多为软件的版本,默认是latest
列表: docker images (查询所有本地镜像)
删除: 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(方式一)

下载

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

安装

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

查看版本

docker-compose version

安装docker-compose(方式二)

安装pip

yum -y install epel-release
yum -y install python-pip

确认版本

pip --version

更新pip

pip install --upgrade pip

安装docker-compose

pip install docker-compose 

查看版本

docker-compose version

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

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

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

apt-get install vim

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

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

此时需要:

root@76eb8d6dea73:~# apt-get update

然后再:

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. MySQL 中间件汇总比较

    360 Atlas 较为活跃,Atlas 是由 360 Web平台部基础架构团队开发维护的一个基于 MySQL 协议的数据中间层项目.它是在mysql-proxy 0.8.2版本的基础上,对其进行了优 ...

  2. centos7 远程连接其他服务器redis

    在本地远程连接 在终端输入: redis-cli -h 服务器ip地址 -p 端口 -a 密码

  3. C# HttpWebRequest 后台调用接口上传大文件以及其他参数

    直接上代码,包各位看客能用!!! 1.首先请求参数的封装 /// <summary> /// 上传文件 - 请求参数类 /// </summary> public class ...

  4. 并发编程的模型分类(转载于https://link.zhihu.com/?target=http%3A//www.54tianzhisheng.cn/2018/02/28/Java-Memory-Model/)强烈推荐!

    在并发编程需要处理的两个关键问题是:线程之间如何通信 和 线程之间如何同步. 通信 通信 是指线程之间以何种机制来交换信息.在命令式编程中,线程之间的通信机制有两种:共享内存 和 消息传递. 在共享内 ...

  5. Kafka 学习笔记之 架构

    Kafka的概念: 1. AMQP协议 Advanced Message Queuing Protocol (高级消息队列协议) The Advanced Message Queuing Protoc ...

  6. Nginx internal 指令限制访问图片资源文件

    Nginx 的 internal 指令可以用来限制 Web 公共目录下的图片等资源文件被任意用户直接访问.一个明显的使用场景是,对于用户上传的认证图片,属于个人隐私资源,不应该让所有用户都能访问得到, ...

  7. 神奇的Java僵尸(defunct)进程问题排查过程

    现象描述 大概1个月多以前 在启动脚本中增加了tail -f 用来启动后追踪日志判断是否启动成功 后发现无法执行shutdown.sh(卡住 利用curl) 然后无奈使用kill -9 但通过ps - ...

  8. Redis 的底层数据结构(整数集合)

    当一个集合中只包含整数,并且元素的个数不是很多的话,redis 会用整数集合作为底层存储,它的一个优点就是可以节省很多内存,虽然字典结构的效率很高,但是它的实现结构相对复杂并且会分配较多的内存空间. ...

  9. vue中methods,computed,filters,watch的总结

    08.28自我总结 vue中methods,computed,filters,watch的总结 一.methods methods属性里面的方法会在数据发生变化的时候你,只要引用了此里面分方法,方法就 ...

  10. Vue中组件

    0828自我总结 Vue中组件 一.组件的构成 组件:由 template + css + js 三部分组成(.vue文件) 1)组件具有复用性 2) 复用组件时,数据要隔离 3) 复用组件时,方法不 ...