菜鸟教程初学docker

   http://www.docker.org.cn/  Docker中文社区

    Docker基于Go语言并遵从Apache2.0协议

    Docker的应用场景
    -web应用的自动化打包和发布
    -自动化测试和持续集成、发布
    -在服务型环境中部署和调整数据库或其他的后台应用
    -从头编译或者扩展现有的OpenShit或CloudFoundry平台来搭建自己的Pass环境

    Docker的优点:
    -简化程序
    -避免选择恐惧症
    -节省开支

==============================================================================

Docker 架构
 1、C/S架构
 2、6个基本概念
    Docker镜像 (Images) Docker镜像是用于创建Docker容器的模板
    Docker容器 (Container) Docker容器独立运行的一个或者一组应用
    Docker客户端 (Client) Docker客户端通过命令行或者其他工具使用Docker API与Docker守护进程通信
    Docker主机 (Host) 一个物理或者虚拟的机器用于执行Docker守护进行和容器
    Docker仓库 (Registry) Docker 仓库用来保存镜像
    Docker Machine 是一个简化Docker安装的命令行工具

==============================================================================

Docker 安装[docker_centos_安装与删除.txt]

==============================================================================

Docker 容器使用
docker command --help
    docker stats -a
    docker run -d -P                 -d 让容器在后台运行 -p 将容器使用的网络端口映射到我们使用的主机上
    docker ps               查看正在运行的容器

    docker port id/name      查看实例端口
    docker logs -f id/name  查看容器内部的标准输出

    docker inspect          查看Docker的底层信息,会返回一个json文件记录着容器的配置和状态信息


    systemctl start docker
    docker rm id/name       删除容器

    docker exec -it containId/name /bin/bash
==============================================================================

Docker 镜像使用
    docker images            查看本地仓库镜像
    docker pull              获取一个新的镜像
    docker search httpd      查找镜像   或者   Docker Hub 网站来搜索镜像,Docker Hub 网址为: https://hub.docker.com/

    创建镜像的两种方式:1、从已创建的容器中更新镜像,并且提交这个镜像
                        2、使用Dockerfile 指令来创建一个新的镜像

    更新镜像                 apt-get update
                             先 docker run 创建容器,在 容器内使用apt-get update 命令进行更新
                             exit 命令退出容器
                             docker commit -m="" -a="" containerId targetImage:tag

    构建镜像                 docker builder   从零开始构建镜像


    设置镜像标签              docker tag




    tip: 查找镜像:tag

==============================================================================

Docker 容器连接

    网络端口映射  docker run -d -P
                -P   容器内部端口随机映射到主机的高端口
                -p   容器内部端口绑定到制定端口

    docker有一个连接系统允许将多个容器连接在一起,共享连接信息
    docker连接会创建一个父子关系,其中父容器可以看到子容器的信息。
    容器命名   当创建容器的时候,docker会自动对它进行自动命名
               -name标识来命名容器

==============================================================================

Dockerfile 语法

FROM image_name:tag
MAINTAINER user_name      镜像创建者
ENV key value  设置环境变量
RUN command
Add source_dir/filedest_dir/file  将宿主机的文件复制到容器内,如果是压缩文件,将会在复制后解压
COPY source_dir/filedest_dir/file  将宿主机的文件复制到容器内,如果有压缩文件必能解压
WORKDIR path_dir  设置工作目录


==============================================================================
Docker 迁移与备份
docker commit containername imageName  保存镜像
docker save -o mynginx.tar mynginx_i
docker load -i mynginx.tar


==============================================================================
Docker 私有仓库
docker pull registry
docker run -di -name-registry -p 5000:5000 registry
打开浏览器 输入  http://ip:5000/v2/_catalog   返回一个json输出 {"repositories":[]}

配置 docker 信任私有仓库
vim /etc/docker/daemon.json
{
"registry-mirrors":[],
"insecure-registries":["ip:port"]
}


上传镜像
docker tag containerid/name  192.168.1.150:5000/jdk1.8

docker push 192.168.1.150:5000/jdk1.8

你可能感兴趣的:(Docker)