docker的安装与基本使用
安装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的安装与基本使用的更多相关文章
- docker——容器安装tomcat
写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...
- docker 启动安装等命令
确认是否安装url whereis curl 启动docker服务: sudo service docker start sudo service docker stop 安装curl sudo ap ...
- DOCKER windows安装
DOCKER windows安装 1.下载程序包 2. 设置环境变量 3. 启动DOCKERT 4. 分析start.sh 5. 利用SSH工具管理 6. 下载镜像 6.1 下载地址 6.2 用FTP ...
- 在docker里面安装部署应用
最近一直在做docker的安装打包工作,学到不少东西,在博客里记一下. 环境centos6 ,docker 基础镜象centos6 1.创建本地基础镜象,安装基础命令包 (1)Dockerfile,D ...
- Docker Centos安装Redis以及问题处理
之前一篇文章 Redis安装及主从配置 介绍了redis的安装配置,另一篇文件介绍了 Docker Centos安装Openssh .今天将两篇文件结合一下——在Docker Centos环境下搭建r ...
- Docker Centos安装Mysql5.6
之前一篇随笔<Docker Centos安装Openssh> 写的是如何在基础的centos镜像中搭建ssh服务,在此基础上再搭建其他服务.本文继续介绍在centos_ssh基础上搭建my ...
- Docker的安装及简单使用
1. Docker的安装 (这里的“安装docker”其实就是安装Docker Engine) $ sudo apt-get intasll docker.io note: apt-get是ubun ...
- docker 的安装
官方站点上有各种环境下的 安装指南,这里主要介绍下Ubuntu和CentOS系列的安装. Ubuntu 系列安装 Docker 通过系统自带包安装 Ubuntu 14.04 版本号系统中已经自带了 D ...
- docker 17 安装
docker17 安装 新增一键安装命令: curl -sSL https://get.docker.com/ | sh 以下为手动安装过程 翻译自 Get Docker for Ubuntu Doc ...
- centos7安装docker并安装jdk和tomcat(常用命令)
阿里专属的镜像加速 在宿主机器编辑文件:vi /etc/docker/daemon.json 阿里专属的镜像加速地址,类似于"https://91cntlkt.mirror.aliyuncs ...
随机推荐
- 英语背单词app
乐词 √ 真人发音 词根词缀 小组计划及时复习 真人例句 墨墨 单词量测试做的特别好 扇贝 哈哈哈,没用过 百词斩 同样25个单词,我在乐词中背了20分钟,在百词斩中需要60分钟. 原因在于 要记单词 ...
- 我的第一个python web开发框架(24)——系统重构与ORM
小白弄完代码版本管理和接口文档后,兴奋的找到老菜. 小白:老大,我已经按你讲的要求,将代码版本管理和接口文档都搞好了.从项目开始到现在,除了代码编写,感觉学会好多东西啊. 老菜:嗯嗯,实战确实需要掌握 ...
- nginx 反向代理 负载均衡
nginx反向代理 用户(浏览器) 请求网站资源 -> 直接定位到django后台(所有的请求压力,都直接给了后台) django默认对并发性 很差,并且处理网页的静态资源,效率很差 10万个并 ...
- jenkins乱码解决问题
1.jenkins控制台线上乱码解决 系统管理——系统设置,添加编码环境变量 zh.CH.UTF-8 2.java启动后,tomcat日志显示乱码,原因是环境变量没有带过去,因此shell脚本头部需要 ...
- Cordova入门系列(二)分析第一个helloworld项目
版权声明:本文为博主原创文章,转载请注明出处 上一章我们介绍了如何创建一个cordova android项目,这章我们介绍一下创建的那个helloworld项目的代码,分析其运行. MainActiv ...
- Cursor: Pin S Wait On X In The Top 5 Wait Events
Wait Events , Posted in: Technical Track Tags: Group Blog Posts, Oracle, Technical Blog Lately, wait ...
- JS&Java实现常见算法面试题
Github上的算法repo地址:https://github.com/qcer/Algo-Practice (如果你觉得有帮助,可以给颗星星收藏之~~~) 一.Java实现部分 参见随笔分类的算法部 ...
- Golang 入门系列(十一)Go语言实现webapi
之前,已经讲过很多Golang的东西,比如基础语法,mysql的使用,redis的使用等等,感兴趣的可以看看以前的文章,https://www.cnblogs.com/zhangweizhong/ca ...
- 图表插件Highcharts的动态化赋值,实现图表数据的动态化设置显示
在很早之前就介绍过图表插件Highcharts的使用了,在2014年的随笔<基于MVC4+EasyUI的Web开发框架经验总结(4)--使用图表控件Highcharts>,这里基本上都介绍 ...
- Pandas基本操作
pandas:数据分析 pandas是一个强大的Python数据分析的工具包. pandas是基于NumPy构建的. pandas的主要功能 具备对其功能的数据结构DataFrame.Series 集 ...