简介

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. JS/JQuery 禁用超链接a

    JS // 禁用超链接元素elem ; document.getElementById(elemID).setAttribute('disabled', 'disabled'); // 启用超链接元素 ...

  2. CSS 换行

    默认情况下,元素的属性是 white-space:normal:自动换行:(不把单词截断,会把单词看作一个整体) -----但是但是但是但是..当元素中的内容是一对没有空格的字符/数字时,超过容器宽度 ...

  3. 一条SQL查询语句是如何执行的?

    本篇文章将通过一条 SQL 的执行过程来介绍 MySQL 的基础架构. 首先有一个 user_info 表,表里有一个 id 字段,执行下面这条查询语句: select * from user_inf ...

  4. 01、JDBC连接

    ① 下载JDBC-MySQL数据库驱动 链接:https://pan.baidu.com/s/1KtSZZ5hXlxu2QrmsXg3lkA 提取码:1pbl ② 加载JDBC-MySQL数据库驱动 ...

  5. FreeRTOS优化与错误排查方法

    写在前面 主要是为刚接触 FreeRTOS 的用户指出那些新手通常容易遇到的问题.这里把最主要的篇幅放在栈溢出以及栈溢出j检测上,因为栈相关的问题是初学者遇到最多的问题. printf-stdarg. ...

  6. asp.net core 3.0 中使用 swagger

    asp.net core 3.0 中使用 swagger Intro 上次更新了 asp.net core 3.0 简单的记录了一下 swagger 的使用,那个项目的 api 比较简单,都是匿名接口 ...

  7. Windows系统调用中API的3环部分(依据分析重写ReadProcessMemory函数)

    Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html Windows系统调用中API的3环部分 一.R3环API分析的重 ...

  8. Vue3都使用Proxy了,你更应该了解Proxy

    vue3.0的pre-alpha版代码已经开源了,就像作者之前放出的消息一样,其数据响应这一部分已经由ES6的Proxy来代替Object.defineProperty实现,感兴趣的同学可以看其实现源 ...

  9. 拿起键盘就是干:跟我一起徒手开发一套分布式IM系统

    1.引言 老读者应该还记得我在去年国庆节前分享过一篇<技术干货:从零开始,教你设计一个百万级的消息推送系统>,虽然我在文中有贴一些伪代码,依然有些朋友希望能直接分享一些可以运行的源码.好吧 ...

  10. CTF-SSH私钥泄露渗透

    环境 Kali ip 192.168.56.102 Smb 靶机ip 192.168.56.104 0x01信息探测 使用netdiscover -r ip/mask 进行内网网段存活ip探测 靶机为 ...