Docker深如学习及命令使用
docker原理及构成:
特点:轻量化,易迁移,架构快
架构:分层式架构 分为:内核、操作系统、上层应用
docker使用方式:
注:docker创建容器时,必须让容器内有进程在跑着,否则容器会自动挂掉
增:获取docker镜像,创建docker容器
docker pull nginx:tag
docker run -d -p 80:90 nginx -d 后台运行进程不显示到前端页面,-p 指定宿主机和容器内对应开放端口
docker run -d -it 80:90 nginx bash -it运行并进入容器内
--name 给运行的容器赋名
删:关停正在运行的容器,删除关停的容器,删除本地镜像
docker rmi 镜像id 删除镜像
docker -rm id 删除指定容器
改:为创建的容器添加依赖环境,并生成新的镜像
docker exec -it id bash 进入正在运行的容器内
查:查看生成的容器
docker seach nginx 查可获取的镜像
docker images ls 查本地有的镜像
docker ps 查生成的容器 -a 查所有生成的镜像包括停掉的
docker logs -f id 查看容器运行日志,-f实时刷新日志并显示
docker info 查看docker信息
dockerfile:
FROM:获取一个基础的操作系统镜像(可以是本地,可以是远端云服务器上的)
MAINTAINER:规定该dockerfile的作者
RUN:用于执行一些安装依赖的语句,以及执行一些Linux系统操作语句
ADD:拷贝并解压,支持远程拷贝
COPY:将宿主机的文件复制到容器内(完全拷贝)
WORKDIR:指定工作目录,即当进入该dockerfile构建的镜像生成的容器时直接到设置的目录下
VOLUME:容器运行时,需要保证存储层不写入任何数据,运行容器产生的数据是挂载到宿主机上进行维护 ;将设置了的目录变为匿名卷,任何向该目录写入的操作都不会被容器记录,保证容器存储层无状态概念
ENV:设置环境变量(镜像构建,容器构建都可使用的变量
ARG:设置环境变量(只是镜像构建时可以使用)
EXPOSE:指定暴露到宿主机上的端口,便于容器内和宿主机以及外部访问
CMD:在容器内运行命令,启动程序
ENTRYPORINT:和CMD类似
注:有了entrypoint后cmd的内容会当作参数传递给entrypoint