安装docker

curl -s https://get.docker.com|sh

好慢....一个小时吧...

启动docker

先执行命令docker version来来一下:

docker version

发现没有启动docker server, 执行命令:

service docker start

然后再查看一下 docker version

docker pull命令

pull命令用于拉取镜像

可以使用docker pull --help命令来查看帮助

红色划线部分就已经标明了命令的使用格式

-a :拉取所有 tagged 镜像
--disable-content-trust :忽略镜像的校验,默认开启

docker images命令

可以查看本地的镜像

同理也可以使用 docker images --help 来查看具体的使用帮助

-a         :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层)
--digests :显示镜像的摘要信息
-f :显示满足条件的镜像
--format :指定返回值的模板文件
--no-trunc :显示完整的镜像信息
-q :只显示镜像ID

docker run 命令

-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项
-d: 后台运行容器,并返回容器ID
-i: 以交互模式运行容器,通常与 -t 同时使用
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用
--name="nginx-lb": 为容器指定一个名称
--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致
--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致
-h "mars": 指定容器的hostname
-e username="ritchie": 设置环境变量
--env-file=[]: 从指定文件读入环境变量
--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行
-m :设置容器使用内存最大值
--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型
--link=[]: 添加链接到另一个容器
--expose=[]: 开放一个端口或一组端口

docker hello world

接下来将演示使用docker来跑一个hello world.

docker pull hello-world

如果pull的时候没有指定版本, 就会拉取最新版本

接下来使用docker images命令来查看下载的镜像

使用run语句来运行刚刚的hello-world镜像

docker run hello-world

docker安装Nginx

docker官方仓库中Nginx的页面: https://hub.docker.com/r/library/nginx/tags/

docker pull nginx:1.12.2

下载一会儿......完成后,再使用docker images命令查看一下:

使用run -d命令让nginx在后台运行(这样才不会导致终端窗口关闭后nginx也会跟着停止运行)

-p 7788:80 的意思是, run时将docker容器中的80端口映射到主机的7788端口

docker run -d -p 7788:80 nginx:1.12.2

使用docker ps命令来查看当前运行的docker 实例:

docker ps

其中容器的ID 是edb334b917cc, 这个id之后会用到

大家可以把docker想成一个新装好的虚拟机. 但是如何进入这个实例来进行操作呢?

docker exec -it <id> bash

其中 docker exec是指令, -it是参数, id是docker实例的id, bash是对这个实例进行的操作, 因为这里想打开这个实例的bash来进行系统操作之类的.

这样就进入到了这个Nginx实例的bash下, 可以进行一系列的shell命令.其实就类似在操作一台新虚拟机.

大家会注意到我输入 docker exec命令时, 并没有把docker id 写全. 因为只需要根据id来唯一确定docker实例就可以了, 没必要写全.

只是介绍一下exec这个命令, 目前还用不到, 如果已经进来了, 那就exit退出Nginx实例的bash终端.

在主机中执行 netstat -na | grep 7788 来查看刚才启动Nginx时绑定的7788端口是否起作用了.

可以看到7788端口正在监听.

接下来在主机上打开浏览器, 输入自己主机的ip+端口,来验证一下, 看到Nginx就说明成功了:

docker安装Redis

pull的时候不指定版本的话, 默认下载的是最新版

docker pull redis

创建一个data目录, 用于存放之后的持久化文件

mkdir -p /redis/data

运行实例:

docker run -p 6379:6379 -v /redis/data:/data  -d redis:latest redis-server --appendonly yes

命令说明:

-p 6379:6379 : 将容器的6379端口映射到主机的6379端口
-v /redis/data:/data : 将主机中/redis/data/挂载到容器的/data
redis-server --appendonly yes : 在容器执行redis-server启动命令,并打开redis持久化配置

在redis docker实例中打开redis客户端:

首先docker ps查看id, 其中redis实例的id是 4c4109ab9a59

使用exec来执行docker实例内部命令, 4c41是redis实例的docker id 的前几位, 只要能在当前机器中唯一识别就好, 不一定要把id写全.

docker exec -it 4c41 redis-cli

redis就可以正常使用了.

运行Redis时需要指定配置的话, 按如下运行:

docker run -p 6379:6379 -v /redis/data:/data -v /redis/redis.conf:/redis/r.conf  -d redis:latest redis-server /redis/r.conf

  

docker的安装与基本使用的更多相关文章

  1. docker——容器安装tomcat

    写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...

  2. docker 启动安装等命令

    确认是否安装url whereis curl 启动docker服务: sudo service docker start sudo service docker stop 安装curl sudo ap ...

  3. DOCKER windows安装

    DOCKER windows安装 1.下载程序包 2. 设置环境变量 3. 启动DOCKERT 4. 分析start.sh 5. 利用SSH工具管理 6. 下载镜像 6.1 下载地址 6.2 用FTP ...

  4. 在docker里面安装部署应用

    最近一直在做docker的安装打包工作,学到不少东西,在博客里记一下. 环境centos6 ,docker 基础镜象centos6 1.创建本地基础镜象,安装基础命令包 (1)Dockerfile,D ...

  5. Docker Centos安装Redis以及问题处理

    之前一篇文章 Redis安装及主从配置 介绍了redis的安装配置,另一篇文件介绍了 Docker Centos安装Openssh .今天将两篇文件结合一下——在Docker Centos环境下搭建r ...

  6. Docker Centos安装Mysql5.6

    之前一篇随笔<Docker Centos安装Openssh> 写的是如何在基础的centos镜像中搭建ssh服务,在此基础上再搭建其他服务.本文继续介绍在centos_ssh基础上搭建my ...

  7. Docker的安装及简单使用

    1.  Docker的安装 (这里的“安装docker”其实就是安装Docker Engine) $ sudo apt-get intasll docker.io note: apt-get是ubun ...

  8. docker 的安装

    官方站点上有各种环境下的 安装指南,这里主要介绍下Ubuntu和CentOS系列的安装. Ubuntu 系列安装 Docker 通过系统自带包安装 Ubuntu 14.04 版本号系统中已经自带了 D ...

  9. docker 17 安装

    docker17 安装 新增一键安装命令: curl -sSL https://get.docker.com/ | sh 以下为手动安装过程 翻译自 Get Docker for Ubuntu Doc ...

  10. centos7安装docker并安装jdk和tomcat(常用命令)

    阿里专属的镜像加速 在宿主机器编辑文件:vi /etc/docker/daemon.json 阿里专属的镜像加速地址,类似于"https://91cntlkt.mirror.aliyuncs ...

随机推荐

  1. LeetCode算法题-Island Perimeter(Java实现)

    这是悦乐书的第238次更新,第251篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第105题(顺位题号是463).您将获得一个二维整数网格形式的地图,其中1代表土地,0代 ...

  2. JS第三部分--BOM浏览器对象模型

    一.client系列:宽高边框 二.offset系列:偏移 三.scroll系列 四.BOM的介绍 4.1.打开新窗口 4.2.location对象(本地信息对象) 4.3.history对象 4.4 ...

  3. python import详解

    1.import作用 引入模块 2.import的特点 一个程序中,import的模块不会重复被引用,如: # test1.py import test2 print test2.attr # tes ...

  4. HBase实践案例:车联网监控系统

    项目背景 本项目为车联网监控系统,系统由车载硬件设备.云服务端构成.车载硬件设备会定时采集车辆的各种状态信息,并通过移动网络上传到服务器端.服务器端接收到硬件设备发送的数据首先需要将数据进行解析,校验 ...

  5. Spark RDD持久化、广播变量和累加器

    Spark RDD持久化 RDD持久化工作原理 Spark非常重要的一个功能特性就是可以将RDD持久化在内存中.当对RDD执行持久化操作时,每个节点都会将自己操作的RDD的partition持久化到内 ...

  6. w3m 使用总结

    安装 sudo apt install w3m终端 w3m www.baidu.com 即可打开w3m是个开放源代码的命令行下面的网页浏览器.一般的linux系统都会自带这个工具,可以通过它在命令行下 ...

  7. ios自动打包-fastlane 安装、使用、更新和卸载

    ios自动打包使用fastlane 1.首先安装xcode 首先检查是否已经安装 Xcode 命令行工具,fastlane 使用 xcodebuild 命令进行打包,运行 xcode-select - ...

  8. JSOI2019 Round2 极限生还

    江苏省省队一共13个名额,去掉女生名额, 按1/3校内限制,我们南外只有4个名额, 在noip爆炸(占比35%),省选一轮爆炸(占比40%),(此时蒟蒻在校内排不进前10...) 总算在省选二轮(占比 ...

  9. Gerrit 添加用户

    使用ssh添加用户 ssh name@localhost -p 29418 gerrit create-account username --email username@email --full-n ...

  10. mapreduce map 的个数

    在map阶段读取数据前,FileInputFormat会将输入文件分割成split.split的个数决定了map的个数.影响map个数(split个数)的主要因素有: 1) 文件的大小.当块(dfs. ...