docker知识总结

一:docker介绍

docker是开源的应用容器引擎,用于linux,现已支持window容器在win10、window2016

1.1 window容器和linux容器区别

参考:https://www.linuxidc.com/Linux/2017-11/148981.htm
window新容器Hyper-V容器和Nano Server技术(win10,win2016)技术的落地,
使得最小粒度隔离资源成为可能,为docker for window成为可能
区别:
linux容器,内核是linux系统,window是window系统;
linux容器共享宿主系统内核,需要base os也可以不需要,但是window一定需要base os;
window还提供了一个hyper-v容器来给window容器提供一个隔离资源的最小单元,每个window docker容器下是hyper-v容器下base os系统;

二:docker命令

------------容器---------------------
2.启动容器:docker -it [containner name] //-i:交互式操作;-t: 终端
            docker run -it ubuntu /bin/bash
            exit:进入容器后输入可退出此容器
3.查看所有容器:docker ps -a
4.启动指定id容器:docker start <容器 ID>
                  docker restart <容器 ID>
5.后台运行:docker run -itd --name ubuntu-test ubuntu /bin/bash
            //-d 后台运行
6.进入容器:docker exec <容器 ID>
            docker attach <容器 ID>
7.删除容器:docker rm -f <容器 ID>
8.查看容器port映射情况:docker port <容器 ID>
9.查看容器logs容器内容标准输出:docker logs <容器 ID>
10.查看容器进程:docker top <容器 ID>
----------镜像-----------------------
1.列出镜像列表:docker images
2.获取新的镜像:docker pull [image name]
3.查找镜像:docker search [image name]
4.删除镜像:docker rmi [image name]
5.创建镜像-更新镜像:docker commit -m "has update" -a="jiping" [容器ID] [目标镜像名]
    //-m: 提交的描述信息;-a: 指定镜像作者
6.创建镜像-构建镜像:docker build -t [目标镜像名] [Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径]
7.设置镜像标签:docker tag [镜像ID] [用户名称]/[镜像源名]:[tag]
---------容器连接---------------------
1.网络映射端口:docker run -d -P training/webapp python app.py
    //-P :是容器内部端口随机映射到主机的高端口。
    //-p : 是容器内部端口绑定到指定的主机端口。
2.容器互联-新建网络:docker network create -d bridge test-net
    //-d:参数指定 Docker 网络类型,有 bridge、overlay。
3.容器互联-连接容器:docker run -itd -name test1 --network test-net ubuntu /bin/bash;
                     docker run -itd -name test2 -network test-net ubuntu /bin/bash
    //这样连个容器就可以互联了;
    //如果有多个容器需要互联建议用Docker Compose
4.想要给特定容器修改增加新功能:apt-get update //容器申请更新
                                apt install iputils-ping//容器更新增加ping组件
5.配置DNS:
----------仓库----------------------
1.登录仓库:docker login
2.退出仓库:docker logout
3.拉取镜像:docker search [镜像名称]
            docker pull [镜像名称]
4.推送镜像:docker tag ubuntu:18.04 username/ubuntu:18.04
            docker image ls
            push username/ubuntu:18.04
            search username/ubuntu

三:Dockerfile

Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。
创建镜像:docker build -t [目标镜像名] [Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径]

四:Docker Compose

通过docker-compose.yml文件管理配置应用程序需要的多个容器docker应用程序
启动:docker-compose up -p
    //-p:后台执行该服务

五:Docker Machine

使得你可以安装Docker Engine到多个虚拟机或远程主机,并管理操作

六:docker-swarm

docker集群管理工具

七:实例

posted @ 2020-01-07 17:23  王吉平  阅读(171)  评论(0编辑  收藏  举报