docker容器技术

Docker概述

    Docker是一个开源的应用容器引擎,开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,可以直接使用该镜像做容器做底层的封装。

    docker是一套完整的容器管理系统。

    docker提供了一组命令,让用户更加方便直接的使用容器技术,而不需要过多关心底层内核技术。

    Namespace(命名空间)——实现容器内的用户、进程、网络、消息、文件系统和主机名的隔离。

    Cgroup——实现对资源的分配,可以指定实例使用的cpu个数,内存大小等。

安装docker

    yum -y install docker && systemctl restart docker

镜像操作:

    装完可以搜索镜像,可以直接搜索云上的镜像(nginx、httpd等)

    docker search centos       // 搜索镜像,需联网操作

    docker images //查看本地镜像

    docker history docker.io/busybox //查看镜像制作历史

    docker inspect docker.io/busybox //查看镜像底层信息

    docker pull docker.io/centos    //下载镜像

    docker push 镜像名    //上传镜像,一般不常用

    docker rmi      //删除本地镜像,rmimage的意思

    docker save docker.io/busybox:latest -o busybox.tar //导出镜像备份为tar包

    rsync -av busybox.tar 192.168.1.2:./  //rsync同步到另一台机器

    docker load -i busybox.tar  //导入tar镜像

    docker tag docker.io/busybox:latest oo:xx  修改镜像名称和标签,相当于添加一个软链接


容器操作:

    docker run -itd docker.io/centos //运行容器,-it启动容器,-d为后台运行容器

    docker ps -a  //查看容器列表,-a查看全部,-q只看容器id

    docker start f2c775ebfc47  //启动容器

    docker restart //重启容器

    docker stop //关闭容器

    docker inspect 7e1b0f46cbb6    //查看容器底层信息

    docker top //查看容器进程列表

    docker rm     //删除容器//需要关闭容器才可以删除

    docker attach     //进入容器,但exit容器会自动停止

    docker exec -it //进入容器,一般使用这个

    docker run --name nginx-test -p 8080:80 -d nginx     //运行nignx程序容器


自定义镜像:

    docker run -it docker.io/centos//启动容器,安装添加的服务或者包

    docker commit a7b myos:latest  //然后ps -a找到容器id,使用commit命令自定义一个新的镜像

    docker images //查看镜像


Dockerfile:

    Dockfile相当于是docker的脚本,将docker命令直接写到Dockfile文件中统一执行,生成定制的image,有额外的需求时,只需在Dockerfile上添加或者修改指令即可。

Dockerfile写法

FROM  //指定基础镜像

EXPOSE     //开放的端口

ENV     // 设置变量

ADD     // 复制文件到镜像

RUN     // 制作镜像时执行的命令,可以有多个

WORKDIR     //定义容器默认工作目录

CMD     // 容器启动时执行的命令,仅可以有一条


创建一个Dockerfile文件,简单装几个包

mkdir -p /tmp/Dockerfile

vim  /tmp/Dockerfile    

FROM docker.io/centos:latest    

RUN yum repolist

RUN yum -y install vim net-tools psmisc iproute

然后执行下面命令

docker build -t test:latest /opt/dockerfile/  //运行dockerfile文件

查看结果

docker run -itd test:latest

docker exec -it d5bddf9de1b7 /bin/bash

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容