Docker学习-----第一波

@(关键词)[Docker|容器]

Docker学习-----第一波_第1张图片
docker-logo-compressed.png

一、what?Docker?

我的理解:就是能将应用程序自动部署到容器的引擎,更加方便我集成开发,持续交付项目的东西。
官方介绍:点我,你没看错,就是我!!

二、where?Docker?

  • 使用Docker容器开发、测试、部署服务
  • 创建隔离的运行环境
  • 搭建测试环境
  • 搭建学习环境
  • 搭建集群环境
  • 搭建多用户的平台即服务的平台
  • ........

三、安利放前排

后续会继续补充,也欢迎大家补充

  • Docker官网
  • Docker中文
  • Github/Docker

四、Docker的相关技术

工欲善其事必先利其器,学习一些技术,首先就需要掌握相关的基础知识。

Namespace命名空间

  1. 开发语言中,命名空间可以将代码封装起来,实现代码的隔离,如使用Mybatis时,生成的xxxmapper.xml文件中就使用了namespace的东西,将每个Mapper文件隔离开来;
  2. 操作系统中,命名空间可以隔离系统资源,如以下的系统资源:
  • 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项目,敬请关注。。。。(我就放后面,你打我呀。。。)

你可能感兴趣的:(Docker学习-----第一波)