在线安装docker

Docker要求:

lunix内核,要求3.8以上

centos7

Docker是一个进程,一启动就两个进程,一个服务,一个守护进程。占用资源就非常少,启动速度非常快,1s。

一台机器上vm,3到10个实例。docker 100到10000。

1.核心概念:

1)镜像images,事先做好一些基础功能(软件),可以在镜像上在来安装新的内容。

2)容器container

3)数据卷volume,把数据映射到linux磁盘目录,业务把数据写入这个目录,容器重新启动时,自己加载数据卷,数据又恢复了。有问题的。(争论,数据库这种方式需求适不适合docker)

4)仓库repository,maven仓库概念一样

1.1.1.1第一步:安装工具包 

yum install -y yum-utils device-mapper-persistent-data lvm2   #安装工具包,缺少这些依赖将无法完成

1.1.1.2第二步:设置远程仓库

   yum-config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo

  或者:

  yum-config-manager –add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

1.1.1.3第三步:安装    yum install docker-ce

1.1.1.4第四步:启动  systemctl start docker

1.1.1.5第五步:    查看版本    docker version

1.1.1.6第六步:校验      docker run hello-world

1.1.2查看Docker版本

     docker –help #帮助

     docker –v #简单查看版本

     docker version #查看版本

     docker info #查看信息

1.1.3安装其它产品的两种方式

      docker安装其它产品有两种方式

      方式一:通过拉取事先做好的镜像,例如下面redis的安装方式

      方式二:通过Dockerfile来构建新的镜像,例如下面tomcat的安装方式

1.1.4 docker的其它命令

    # docker attach vm1              连接容器

    # docker top vm1                 查看容器中运行的进程信息

    # docker logs vm1                查看容器指令输出 -f 参数可以实时查看

    # docker stats vm1               查看容器资源使用率

    # docker diff vm1                查看容器修改

    # docker run -d –name vm1 ubuntu bash -c "while true; do echo westos; sleep 1; done"   运行容器时执行命令

    # docker stop vm1                停止容器

    # docker start vm1               启动容器

    # docker kill vm1                强制干掉容器

    # docker restart vm1             重启容器

    # docker pause/unpause vm1       暂停/恢复容器

    # docker rm vm1                  删除容器

    # docker export vm1 > vm1.tar    导出容器

    # docker import vm1.tar image    导入容器为镜像 image

    # docker container prune         删除所有停止的容器

    # docker load -i rhel7.tar       导入镜像

1.1.4.1  示例安装tomcat

    方法一 

    # docker search tomcat      查找Docker Hub上的tomcat镜像

    # docker pull tomcat      取官方的镜像

    # docker images|grep tomcat    下载完成后可以在本地镜像列表里查到REPOSITORY为tomcat的镜像

    方法二

         略

1.1.5  使用容器

1.1.5.1运行容器:

docker run –name tomcat -p 8080:8080 -v $PWD/test:/usr/local/tomcat/webapps/test -d tomcat

命令说明:

     -p 8080:8080:将容器的8080端口映射到主机的8080端口

      -v $PWD/test:/usr/local/tomcat/webapps/test:将主机中当前目录下的test挂载到容器的/test

1.1.5.2 查看容器启动情况

    #docker ps

1.1.6通过浏览器访问

    http://ip:8080

1.2.1 示列 使用nginx

    docker search nginx

    docker pull tomcat

    docker run –name nginx-test -p 8081:80 -d nginx

           nginx-test 容器名称。

           the -d设置容器在在后台一直运行。

           the -p 端口进行映射,将本地 8081 端口映射到容器内部的 80 端口。 执行以上命令会生成一串字符串,类似 c1236c299ce448dbe35bb7003675be0008bd463b3c29e8ed59bc9c701f91bd83,这个表示容器的 ID,一般可作为日志的文件名。

          我们可以使用 docker ps 命令查看容器是否有在运行:

   浏览器中打开 http://127.0.0.1:8081/

2.上传下载文件

Docker容器向宿主机传送文件

格式:

docker cp container_id:<docker容器内的路径> <本地保存文件的路径>

比如:

cp 1cc872df486e:/usr/local/tomcat/test.war  /home/

宿主机向Docker容器传送文件

格式:

docker cp 本地文件的路径 container_id:<docker容器内的路径>

比如:

docker cp /home/test.war  1cc872df486e:/usr/local/tomcat