Docker-基础(一)

一、简介:

Docker是一个开源的应用容器,基于Go语言,遵从Apache2.0协议开源,Docker可以让开发者打包他们的应用到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口,容器性能开销极低。

二、Docker架构:

Images:docker镜像,用于创建Docker容器的模板。

Container:docker容器,独立运行的一个或一组应用。

Client:docker客户端,使用docker Api 与 docker 的守护进程进行通讯

Host:docker主机,一个物理或者虚拟的机器用于执行docker守护进程和容器,比如cetnos,ubuntu等

Registry:docker仓库,用来保存镜像。

Machine:一个简化docker安装的命令行工具,比如VirtualBox、 Digital Ocean、Microsoft Azure。

三、Docker 初体验

centos7安装docker:

yum install -y docker 默认安装

docker-ce 安装:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

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

sudo yum install docker-ce

测试安装是否成功:service docker start—启动docker,docker version 查看docker版本

四:Docker常规用法:

docker操作:

        版本 / 信息 ——  docker 【version / info】

容器操作:

        容器声明周期管理:docker 【 run | start | stop | restart | kill | rm | pause | unpause 】

        容器操作运维:docker 【 ps | inspect | exec | logs | export | import | port 】

        容器rootfs命令:docker 【commit | cp | diff】

镜像操作:

        镜像管理:docker 【 images | rmi | tag | build |history | save | import 】

仓库操作:

        镜像仓库:docker【login | pull | push | seacher】

 

五:容器使用

docker run :创建一个容器并运行一个命令

docker create: 创建一个容器,但不启动

-d :后台运行容器

-i:以交互模式运行容器,通常与 -t 同时使用

-p :端口映射,格式为:主机(宿主机)端口:容器端口

-t :为容器重新分配一个伪终端,通常与 -i 同时使用

--name="zk" :为容器指定一个名称

--dns 8.8.8.8:指定容器使用的DNS服务器,默认和宿主机一致

-m:设置容器最大使用内存

--net="bridge":网络连接类型,支持bridge/host/none/container: 四种类型;

--link=[]:添加链接到另一个容器

--expose=[]:开放一个端口或一组端口

 

 

容器是独立运行的一个或一组应用,以及他们的运行态环境;

        交互式创建容器并进入:docker  run  -it  --name centos centos /bin/bash(前台进程)

                exit:退出关闭容器;

                Ctrl+P+Q:退出不关闭容器;

        后台启动容器:docker run -d --name nginx(容器名字) nginx(镜像名字)

        进入已运行的容器:docker exec -it nginx /bin/bash

        查看容器的元数据:docker inspect nginx

        绑定容器端口到主机:docker run -d -p 8080:80 --name nginx nginx:latest

        挂载主机文件目录到容器内:docker run -dit -v/root/peter_dir/;/pdir --name cent centos

        复制主机文件到容器内: docker run -dit -v /root/peter_dir/:/pdir --name cent centos

复制主机文件目录到容器内:docker cp anaconda-ks.cfg 

复制主机文件到容器内:docker cp anaconda-ks.cfg cent:/var

 

6.仓库使用:

        仓库(Repository)是集中存放镜像的地方

        Docker官方仓库:https://hub.docker.com,  自由注册,邮件激活

        常用命令: Docker  pull / search / login /push / tag

        Tag:标记本地镜像,将其归入某一仓库

        Push:推送镜像到仓库  --- 需要登录

        Search:在仓库中查询镜像  --- 无法查到tag版本

        Pull:下载镜像到本地

        Login:登录仓库

7.私有仓库的使用:

        使用registry镜像创建私有仓库,下载registry镜像:docker pull registry

可配置加速器加速下载

        vi /etc/docker/daemon.json

{

       "bip":"127.17.5.1/24",

       "registry-mirrors":["https://registry.docker-cn.com"]

}

启动:docker run -d --name reg -p 5000:5000 registry

设置 http 传输 :systemctl daemon-reload systemctl restart docker

vi /etc/docker/daemon.json

{

       "bip":"127.17.5.1/24",

       "registry-mirrors":["https://registry.docker-cn.com"],

        "insecure-registries":["192.168.244.5:5000"]

}

docker tag hello-world http://192.168.244.5:5000/hello-world

docker push 192.168.244.5:5000/hello-world

查询:curl http://192.168.244.5:5000/v2/_catalog  |  http://192.168.244.5:5000/v2/hello-world/tags/list

 

 

 

   

猜你喜欢

转载自blog.csdn.net/csdnbeyoung/article/details/90670319