安装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. 使用Visual Studio Code进行ABAP开发

    长期以来,我们都使用SAP GUI进行ABAP编码工作,事务代码SE38甚至成了ABAP的代名词. SAP GUI的代码编辑能力和一些专业的IDE比较起来难免相形见绌,为了给开发者们更好的体验,SAP ...

  2. SpringBoot四大神器之auto-configuration

    SpringBoot 自动配置主要通过 @EnableAutoConfiguration, @Conditional, @EnableConfigurationProperties 或者 @Confi ...

  3. SP11470 TTM - To the moon

    嘟嘟嘟 主席树+区间修改. 以为是水题,写着写着发现区间修改标记下传会出问题,然后想了想发现以前做的只是单点修改. 那怎么办咧? 然后题解交了我标记永久化这个神奇的东西. 特别好理解,就是修改的时候直 ...

  4. Mango 基础知识

    1 mongdb和python交互的模块 pymongo 提供了mongdb和python交互的所有方法 安装方式: pip install pymongo 2 使用pymongo 1. 导入pymo ...

  5. python 角度和弧度转化

    >>> import math >>> math.degrees(math.pi/) 90.0 >>> math.radians() 1.5707 ...

  6. SpringBoot 数据篇之使用JDBC

    SpringBootTutorial :: Data :: Jdbc 简介 API execute update query 实战 配置数据源 完整示例 引申和引用 简介 Spring Data 包含 ...

  7. 判断语句之if...else

    判断语句之if...else if语句第二种格式: if...else: 格式: 执行流程 首先判断关系表达式看其结果是true还是false 如果是true就执行语句体1 如果是false就执行语句 ...

  8. 在IIS上搭建WebSocket服务器(一)

    一.搭建环境 1.System.Web.WebSockets需搭建在Windows8及Server2012以上系统的上. 2.在Windows8及Server2012以上系统的上安装IIS和WebSo ...

  9. 题解 P1601 【A+B Problem(高精)】

    P1601 A+B Problem(高精) 题目描述 高精度加法,x相当于a+b problem,b不用考虑负数. 输入输出格式 输入格式: 分两行输入a,b<=10^500 输出格式: 输出只 ...

  10. IRepository<Developer> repository 出现 Abp.Domain.Repositories.IRepository which was not registered.

    “/”应用程序中的服务器错误. Can't create component 'SWJ.SSO.DomainServices.TestService' as it has dependencies t ...