docker

一、初识docker

百科说:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

看起来有点雾,用过虚拟机的应该对虚拟化技术有点印象,不知道也没关系,就把它当成轻量级的虚拟机吧(虽然一个是完全虚拟化,一个是操作系统层虚拟化),这个解释到位:https://www.cnblogs.com/kex1n/p/6933039.html

百科又说:Docker 使用客户端-服务器 (C/S) 架构模式 使用远程API来管理和创建Docker容器。Docker 容器(Container)通过 Docker 镜像(Image)来创建,二者之间的关系类似于面向对象编程中的对象与类

要理解 Docker 内部构建,需要理解以下三种部件:

Docker 镜像 - Docker images
Docker 仓库 - Docker registeries
Docker 容器 - Docker containers
Docker 镜像
Docker 镜像是 Docker 容器运行时的只读模板,每一个镜像由一系列的层 (layers) 组成。Docker 使用 UnionFS 来将这些层联合到单独的镜像中。UnionFS 允许独立文件系统中的文件和文件夹(称之为分支)被透明覆盖,形成一个单独连贯的文件系统。正因为有了这些层的存在,Docker 是如此的轻量。当你改变了一个 Docker 镜像,比如升级到某个程序到新的版本,一个新的层会被创建。因此,不用替换整个原先的镜像或者重新建立(在使用虚拟机的时候你可能会这么做),只是一个新 的层被添加或升级了。现在你不用重新发布整个镜像,只需要升级,层使得分发 Docker 镜像变得简单和快速。

Docker 仓库
Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。同样的,Docker 仓库也有公有和私有的概念。公有的 Docker 仓库名字是 Docker Hub。Docker Hub 提供了庞大的镜像集合供使用。这些镜像可以是自己创建,或者在别人的镜像基础上创建。Docker 仓库是 Docker 的分发部分。

Docker 容器
Docker 容器和文件夹很类似,一个Docker容器包含了所有的某个应用运行所需要的环境。每一个 Docker 容器都是从 Docker 镜像创建的。Docker 容器可以运行、开始、停止、移动和删除。每一个 Docker 容器都是独立和安全的应用平台,Docker 容器是 Docker 的运行部分

二、升级linux内核

由于用到Docker,必须使用3.1以上的内核,CentOS 6默认是2.6.x,所以必须升级后才可用。

编译内核方式升级:
https://segmentfault.com/a/1190000000733628#articleHeader13

这里介绍的是用yum工具升级
1.查看当前内核版本

[root@test_serv02 ~]# more /etc/issue
CentOS release 6.8 (Final)
Kernel \r on an \m
[root@test_serv02 ~]# uname -r
2.6.32-642.13.1.el6.x86_64

2.安装ELRepo到CentOS
1.导入public key

[root@test_serv02 ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

2.执行安装命令

[root@test_serv02 ~]# rpm -Uvh http://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm
Retrieving http://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm
Preparing...                ########################################### [100%]
   1:elrepo-release         ########################################### [100%]

3.安装kernel-lt
lt是long time的意思,会长时间维护

[root@test_serv02 ~]# yum --enablerepo=elrepo-kernel install kernel-lt

4.编辑grub.conf文件,修改Grub引导顺序

[root@test_serv02 member]# vim /etc/grub.conf
因为一般新安装的内核在第一个位置,所以设置default=0,表示启动新内核

5.重启生效、查看

[root@test_serv02 member]# reboot
[root@test_serv02 member]# uname -r
4.4.102-1.el6.elrepo.x86_64

三、yum方式安装docker

官网上说安装Docker之前,推荐先安装Docker’s repositories,以方便安装和升级任务。
先安装repository

  1. 安装依赖的包,命令如下
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
  1. 安装repository,命令如下
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

3(在生产环境中应安装指定版本,例如要安装17.09.1版本,则命令为)

yum install docker-ce-17.09.1.ce-1.el7.centos

4、镜像加速

vi /etc/docker/daemon.json

{
  "registry-mirrors": ["http://hub-mirror.c.163.com"]
}

5、给普通用户授权docker

sudo usermod -aG docker hadoop

6、 启动docker

systemctl start docker

7、查看docker的版本

docker version

8、重载配置

systemctl daemon-reload

9、docker重启

service docker restart

10、跑一个hello docker

docker run ubuntu:15.10 /bin/echo "Hello Docker"

11、docker镜像查看

docker images

12、查看所有的容器

docker ps -a

13、查看当前的容器

docker ps

14、删除镜像

docker rm 834c7e131982

15、创建一个容器

docker run -it ubuntu:15.10 /bin/bash

16、删除一个容器

[root@pingan ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                         PORTS               NAMES
b55cb3acf019        ubuntu:15.10        "/bin/bash"              4 minutes ago       Exited (0) 2 minutes ago                           eloquent_heyrovsky
6a7d0287118c        ubuntu:15.10        "/bin/echo 'hello ..."   About an hour ago   Exited (0) About an hour ago                       elated_keller
[root@pingan ~]# docker rm 6a7d0287118c
6a7d0287118c
[root@pingan ~]# 

17、后台运行一个容器

[root@pingan ~]# docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello docker;sleep 1;done"
81bf9e23e19924f4492d1455270adb0541fa524a02f6e22b52acc3c95d086bce

18 查看容器运行的日志

docker logs 9fe50d980d34

19、停止运行的容器

docker stop 9fe50d980d34

20、一直跟踪容器id查看logs

docker logs -f 9fe50d980d34

21、使用docker运行一个tomcat容器将宿主机的端口制定成容器端口,使用docker的tomcat的镜像

docker run --name tomcat -p 8080:8080 -d tomcat

22、进入容器

docker exec -it a4c586626aa0 /bin/bash

23、构建镜像

vim Dockerfile
FROM tomcat
MAINTAINER LSJ
ADD shop.war /usr/local/tomcat/webapps/shop.war

docker build -t liu_tomcat .

24、使用构建的镜像创建容器

docker run --name tomcat -p 8080:8080 -d tomcat

25、更新apt

sudo apt-get update
sudo apt-get upgrade

26、安装vi

vi /etc/yum.conf

27、

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值