Docker 简单命令

简介: Docker 简单命令

Docker 引擎,底部由守护进程组成,是一个cs架构,docker server 会启动docker daemon;

守护进程(-d):运行的程序成为进程,守护正在运行的进程,用于监控一个程序,当发现挂掉之后,会自动重启

Rest api:

docker cli

container:容器
图片.png
架构:

镜像和容器

基于镜像启动容器,容器是镜像的实例,容器并不会影响镜像,每次创建都是一个新的容器
图片.png
图片.png

docker 操作镜像
获取镜像:docker pull 
查看镜像:docker images
查看镜像体积:docker system df 
删除镜像 : docker rmi 镜像名称或镜像id
虚悬镜像:查看镜像 docker images 
显示正在运行的容器:docker ps 
显示所有容器,包括运行和没有运行的 : docker ps -a
<none> 为无效镜像,虚悬镜像
删除虚悬镜像:docker image prune
中间层镜像:docker images ls -a  查看所有的镜像
         中间层镜像是 镜像本身以来的其他镜像,只不过么有显示依赖镜像的名称,不能删除
         例如tomcat:  tomcat 镜像依赖于jar镜像,但是在显示镜像的时候,jar镜像的名称并没有显示jar,而是显示的<none> ,这样的镜像被称为中间层镜像,不能删除中间层镜像;

操作容器:

 启动容器:docker run  -p 8080(宿主机端口):8080(容器端口)
    docker run -p 8080:8080 --name tomcatname -d tomcat
     dokcer运行 端口做映射, 启动一个名称叫做tomcatname 的容器,以tomcat 镜像
 停止容器:docker stop 容器名称或容器ip
 删除容器:docker rm 容器名称或容器id
 强制删除容器:docker rm -f 容器名称或id
启动之前停止的容器:docker start  容器id
删除停止的容器:docker rm 容器名称或id
删除所有的停止的容器:  docker container prune
https: 默认的端口是443,ssl连接 
http:默认端口是80
交互式进入容器内部:
docker exec -it  容器名称或id /bin/bash
/bin/bash ,使用shell执行命令

DockerFile 定制镜像 --- 生成一个镜像文件,然后再拿着生成的镜像文件,再去创建容器

使用Dockerfile 来写命令,就相当于在容器内部,可以操作磁盘上的文件,和容器内部的文件

Dockerfile 是一个文本文件,其内包含了一条条的指令,每一条指令构建一层,因此每一条指令的内容,就是描述该层应该如何构建

在构建一个镜像的时候,可以基于一个现有的镜像进行构建

FROM : 基于镜像进行构建

RUN 执行命令

CODP 拷贝命令

构建Dockerfile

docker build -t 生成的名称 .(点)

图片.png

. (点)

1:在当前目录中找到Dockerfile 文件
2:找到在Dockerfile 中使用的上下文路径
3:实际上是打包传递给docker server

Sending build context to Docker daemon 3.072kB

将构建的文件打包传给Docker daemon docker的守护进程,所以需要吧所有的文件全部放到跟Dockerfile 同一级目录下才可以,在Dockerfile中,只能使用跟Dockerfile 在同一级目录下的文件,
图片.png
会把所有的文件打包传递给Docker Server ,如果你再Docker Server 去找 宿主机上面存储的文件,是找不到的,所以只能把文件放到跟Dockerfile 同一级的目录下面才可以


RUN cd /usr/local/tomcat
RUN mv webapps webapps2
RUn mv webapps.dist/ webapps
COPY index.jsp /usr/local/tomcat/webapps/ROOT

如果是文件夹


RUN cd /usr/local/tomcat
RUN mv webapps webapps2
RUn mv webapps.dist/ webapps
COPY page/index.jsp /usr/local/tomcat/webapps/ROOT

Dockerfile 指令

FROM :继承一个镜像

RUN:

COPY:拷贝一个文件到目录

ADD:跟copy基本一致,但是自带解压功能,先将压缩文件复制到指定目录,之后再做解压,但是不推荐使用该功能

CMD:跟RUN有点相似,用来输入脚本,写shell脚本,

       比如说在安装完tomcat 需要启动tomcat,

       CMD ./startup.sh  启动tomcat

        限制条件:只给用一次,只允许用一次,如果多次出现CMD ,会以最后一次为准

EVN:指定环境变量,

expose:对外暴露端口,环境变量,在dockerfile 中设置环境变量,全局变量,在整个dockerfile中都可以使用

workdir:像cd ,可以进入目录,指定工作目录,和容器交互的时候,指定容器的初始目录

相关文章
|
1月前
|
存储 Java Linux
【Docker】(2)还在浏览网页寻找Docker命令?本文全面列举与使用Docker里的各个命令!想要什么命令直接从本文拿!
docker有着比VM更少的抽象层 由于Docker不需要Hypervisor实现硬件资源虚拟化,运行在Docker容器上的程序直接使用的都是实际物理机的硬件资源 因此在CPU、内存利用率上Docker将会在效率上有明显优势 docker利用的时宿主机的内核,而不需要加载操作系统OS内核 当新建一个容器时,Docker不需要和虚拟机一样重新加载一个操作系统内核 进而避免引寻、加载操作系统内核返回等比较费时费资源的过程,当新建一个虚拟机时,虚拟机软件需要加载OS,返回新建过程时分钟级别的。 而Docker由于直接利用宿主机的操作系统,则省略了返回过程,因此新建一个Docker容器只需
321 124
|
4月前
|
安全 Unix Linux
Docker中授权普通用户使用docker命令以及解决无权限访问/var/run/docker.sock错误。
通过上述步骤,可以有效解决普通用户无法使用Docker命令的问题,同时处理 `/var/run/docker.sock`权限错误。这样的设置不仅方便用户使用Docker提供的各项服务,同时还能保护系统的安全性。在进行此类配置更改时,请确保理解每一步骤的作用及潜在的安全风险,尤其是在修改文件权限时。在实际的操作中,始终应该努力保持系统的最低必要权限,避免过度放宽权限,这是保障系统安全的一个重要方针。
1270 75
|
5月前
|
Docker 容器
Docker run命令-p参数详解
本文介绍Docker端口映射的基础用法。通过`docker run -p &lt;宿主机端口&gt;:&lt;容器端口&gt;`实现端口映射,例如`-p 5000:80`将宿主机5000端口映射到容器80端口,外部访问宿主机5000端口时流量会转发至容器内部的80端口。示例命令中,`-d`用于后台运行,`--restart=always`确保容器自动重启,`--name`指定容器名称。部署完成后可通过`http://服务器IP地址:5000`验证服务是否正常运行。
|
4月前
|
Docker 容器
熟悉Docker容器管理命令:start、stop与restart详细使用指南
掌握这些Docker容器管理命令对于维护应用程序的正常运行至关重要。在实际操作中,应注意容器配置、关联资源以及日志等信息,确保各项操作都能够顺畅并且安全地执行。
571 0
|
6月前
|
网络协议 Ubuntu Docker
Docker Compose--命令说明
Docker Compose--命令说明
1069 30
|
6月前
|
Ubuntu Linux 开发者
常用的Docker命令:docker_cmd_sheet
以上就是一些常用的Docker命令,希望能帮助你更好地驾驭这个强大的工具。记住,Docker就像是一个魔法咒语,只有真正理解和熟练使用,才能发挥出它的最大魔力。
154 22
|
6月前
|
Shell 应用服务中间件 nginx
docker 镜像的部分常用命令
docker镜像常用命令
222 16
|
6月前
|
关系型数据库 MySQL Docker
|
6月前
|
关系型数据库 MySQL 数据库
Docker 安装常用软件相关命令
本文介绍了在CentOS 7.9系统上安装Docker的详细步骤,包括添加阿里云镜像源、安装Docker及相关组件、启动服务以及配置镜像加速。同时,还展示了如何通过Docker安装MySQL 5.7版本数据库,涵盖拉取镜像、创建数据目录、运行容器及配置挂载点等操作,并提供验证安装成功的命令和截图。适合需要部署Docker与MySQL环境的用户参考。
358 5
|
7月前
|
NoSQL 应用服务中间件 Redis
Docker 常用命令整理
Docker 常用命令整理
188 1