@(关键词)[Docker|容器]
一、what?Docker?
我的理解:就是能将应用程序自动部署到容器的引擎,更加方便我集成开发,持续交付项目的东西。
官方介绍:点我,你没看错,就是我!!
二、where?Docker?
- 使用Docker容器开发、测试、部署服务
- 创建隔离的运行环境
- 搭建测试环境
- 搭建学习环境
- 搭建集群环境
- 搭建多用户的平台即服务的平台
- ........
三、安利放前排
后续会继续补充,也欢迎大家补充
- Docker官网
- Docker中文
- Github/Docker
四、Docker的相关技术
工欲善其事必先利其器,学习一些技术,首先就需要掌握相关的基础知识。
Namespace命名空间:
- 在
开发语言
中,命名空间可以将代码封装起来,实现代码的隔离,如使用Mybatis时,生成的xxxmapper.xml文件中就使用了namespace的东西,将每个Mapper文件隔离开来;- 在
操作系统
中,命名空间可以隔离系统资源,如以下的系统资源:
- PID (Process Id)
- NET (Network)
- IPC (InterProcess Communication)
- MNT (Mount)
- UTS (Unix Timesharing System)
**Cgroups (Control groups控制组)**:
>- 设置资源限制
>- 设置优先级
>- 进行资源的计量
>- 进行资源的控制
##五、Docker的安装与配置
####前期准备
- 服务器系统版本:Ubuntu Server14.04 LTS 64位
- Linux内核版本: 3.13.0-86-generic
- Docker版本:1.10.3
####安装Docker的最新版本
>在其他系统中安装docker,参考[官网](https://docker.github.io/engine/installation/linux/)
使用以下命令:
sudo apt-get updatecurl -sSL https://get.docker.com|sudo sh
**验证**
1.安装结束之后,查看docker版本,如下图:
![docker_version.png](http://upload-images.jianshu.io/upload_images/3269064-e62ff388a1793632.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
2.使用docker输出hello docker
sudo run ubuntu echo 'hello docker'
####六、Docker常用操作
1.为当前用户添加docker用户组
sudo groupadd docker #添加一个名为docker的用户组
sudo usermod -aG docker $USER #添加用户到docker用户组(或为下一个命令)
sudo gpasswd -a $USER docker
sudo service docker restart #重启docker服务
docker run hello-world #验证用户是否已加入docker用户组(需要退出之后,重新登录)
2.Docker守护进程的配置与操作
ps -ef |grep docker #查看守护进程
status docker #查看运行状态
sudo service docker stop #停止Docker服务
sudo service docker start #启动docker服务
sudo service docker restart #重启docker服务
3.docker启动配置文件
sudo vim /etc/default/docker #打开docker的配置文件
4.docker交互式容器的基本操作
>**交互式容器**:命令结束之后就会停止的容器(我是这么想的。。。。非官腔)
docker run | MAGE [COMMAND] [ARG...] #启动容器
docker run -i -t IMAGE /bin/bash #启动交互式容器
-i --interactive=true|false 默认是false
-t --tty=true|false 默认是false
docker ps [-a] [-l] #查看容器
-a #列出所有的容器
-l #列出最新创建的容器
docker inspect [容器ID|容器自定义名称] #查看已建立的容器
docker run --name==自定义名称 -i -t IMAGE /bin/bash #容器启动时,自定义容器名
docker start [-i] 容器名 #启动容器
-i #以交互的方式启动容器
docker start rm 容器名 #删除已停止的容器
5.docker守护式容器基本操作
>**守护式容器**:可以长期的运行,没有交互式的会话,适合运行应用程序
- 通过启动交互式容器,来启动守护式容器
1.启动交互式的容器
docker run -i -t IMAGE /bin/bash
2.通过使用Ctrl+P Ctrl+Q
的方式退出bash,使容器在后台运行
- 直接通过启动后台运行的方式启动守护式容器
docker run -d IMAGE [COMMAND] [ARG...]
-d 后台运行参数
- 进入到已运行的容器中
docker attach 容器名
- 停止守护式容器
docker stop 容器名 #发送信号给容器,等待容器停止
docker kill 容器名 #直接停止容器
6.查看容器日志
docker logs [-f] [-t] [--tail] 容器名
-f --follows=true|false #一直跟踪log,并返回结果, 默认为false
-t --timestamps=true|false #在返回结果上加上时间戳 ,默认为false
-tail="all " #返回多少数量的log
7.容器内进程相关
docker top 容器名 #查看容器内的进程
docker exec [-d][-i][-t] 容器名 #在容器中启动新的进程
####七、反馈与建议
- 微博:[\[@SombieFF\]](http://weibo.com/3178494643/profile?topnav=1&wvr=6)
- 邮箱:
- 微信:WeChatId:wxxdong2102
--------
非常感谢您阅读这份帮助文档。点击分享按钮,分享给更多的人呗。![wechat.jpg](http://upload-images.jianshu.io/upload_images/3269064-ed314734718e273a.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
---------
>后续我将使用自己的服务器演示在docker中部署javaweb项目,敬请关注。。。。(我就放后面,你打我呀。。。)