docker基础命令

本文详细介绍了Docker的基本命令,包括启动、停止、重启docker服务,以及镜像的拉取、查看、删除操作。还涵盖了创建和管理容器、数据卷、Dockerfile中的关键指令如FROM、RUN、EXPOSE、WORKDIR等,以及如何将镜像推送到阿里云镜像库。
摘要由CSDN通过智能技术生成

学习地址

基础命令

1.启动docker: systemctl start docker
2.停止docker: systemctl stop docker
3.重启docker: systemctl restart docker
4.查看docker状态: systemctl status docker
5.开机启动: systemctl enable docker
6.查看docker概要信息: docker info
7.查看docker总体帮助文档: docker --help
8.查看docker命令帮助文档: docker 具体命令 --help

镜像命令

启动hello-world(管理员模式)

1.启动docker
systemctl enable docker
systemctl start docker
2.拉取镜像
docker pull hello-world
3.查看镜像
docker images

在这里插入图片描述
REPOSITORY:表示镜像的仓库源
TAG:镜像的标签版本号
IMAGE ID:镜像ID
CREATED:镜像创建时间
SIZE:镜像大小
列出本地所有镜像

docker images -a 

只列出镜像名id

docker images -q

搜索远程仓库镜像

docker search --limit 25 xxx //limit只列出25个镜像

在这里插入图片描述
在这里插入图片描述

下载镜像

docker pull 镜像名字[:TAG] //tag版本号

docker pull redis:latest 等价于 docker pull redis

查看镜像/容器/数据卷所占的空间

docker system df

删除镜像

docker rmi 镜像id/镜像名1 镜像id/镜像名2
docker rmi -f 镜像id//强制删除
docker rmi -f ${docker images qa}//删除全部

虚悬镜像

仓库名 标签都是none的镜像
在这里插入图片描述

容器命令

新建+启动容器

docker run [OPTIONS] IMAGE [COMMAND] [ARGS...]

OPTIONS说明
–name=“容器新名字” 为容器指定一个名称
-d:后台运行容器并返回容器D,也即启动守护式容器(后台运行)

-i:以交互模式运行容器,通常与-t使用
-t: 为容器重新分配一个伪输入终端,通常与-i使用
也就是启动交互式容器(前台有伪终端,等待交互)

-P:随机端口映射
-p:指定端口映射
在这里插入图片描述
启动ubuntu

docker run -it ubuntu /bin/bash  //-it(交互式终端) 以交互模式启动一个容器,在容器内执行/bin/bash(交互式shell)命令

在这里插入图片描述

列出当前所有在运行的容器

docker ps [OPTIONS]

在这里插入图片描述

在这里插入图片描述

退出容器

1.exit
run进去容器,exit退出,容器停止

2、ctrl+p+q
run进去进去,ctrl+p+q退出,容器不停止

3、再次进入
docker exec -it xxx bash

启动已经停止运行的容器

docker start 容器ID或容器名字

重启容器

docker restart 容器ID或容器名字

停止容器

docker stop 容器ID或容器名字

强制停止容器

docker kill 容器ID或容器名字

删除已经停止的容器

docker rm 容器ID或容器名字

复制容器路径

docker cp 容器ID:容器路径 目的主机路径

导入导出容器

docker export 容器ID > xxx.tar

在这里插入图片描述

提交镜像副本使其成为一个新的镜像

docker commit -m="提交信息" -a="作者" 容器ID  要创建的镜像名:[标签名]

提交到阿里云镜像库

https://www.aliyun.com/benefit?utm_content=se_1015361707
进入控制台找到容器与镜像服务页面
https://cr.console.aliyun.com/cn-hangzhou/instances
创建个人仓库
在这里插入图片描述
先创建命名空间后创建镜像仓库

将镜像推送到Registry依次执行以下命令

docker login --username=账号名  registry.cn-hangzhou.aliyuncs.com
docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/xxx/myubuntu:[镜像版本号]
docker push registry.cn-hangzhou.aliyuncs.com/xxx/myubuntu:[镜像版本号]

在这里插入图片描述
阿里云
在这里插入图片描述

dockerFile

在这里插入图片描述

基础知识

1.每条保留字指令都必须为大写字母且后面要跟随至少一个参数
2.指令按照从上到下,顺序执行
3.#表示注释
4.每条指令都会创建一个新的镜像层并对镜像进行提交

在这里插入图片描述

关键字

FROM : 基础镜像,指定一个已经存在的镜像作为模板,第一条必是from
MAINTAIN : 镜像维护者的姓名及邮箱
RUN : 容器构建时需要运行的命令

1.shell
RUN <命令行命令>
#<命令行命令>等同于,在终端操作的shell命令
例如:RUN yum -y install vim 安装一个vim命令相当于linux执行yum -y install vim
2.exec
RUN [“可执行文件”,“参数1”,“参数2”]
例如:RUN [“./test.php”,“dev”,“offline”] 相当于 RUN ./test.php dev offline

EXPOSE:当前容器对外暴露的端口
WORKDIR:指定在创建容器后,终端默认登陆的进来工作目录,一个落脚点
ENV:用来在构建镜像过程中设置环境变量

例如 ENV MY_PATH /user/XXX
这个环境变量可以在后续的任何RUN指令中使用,这就如同在命令前面指定了环境变量前缀一样
也可以在其它指令中直接使用这些环境变量
WORKDIR $MY_PATH 设置默认工作目录

VOLUME :容器卷,用于数据保存和持久化工作
ADD:将宿主机目录下的文件拷贝进镜像且会自动处理URL和解压tar压缩包
COPY:类似ADD,拷贝文件和目录到镜像中。将从构建上下文目录中<源路径>的文件/目录复制到新的一层的镜像内的<目标路径>位置
CMD:指定容器启动后要做的事情
在这里插入图片描述
Dockerfile中可以有多个CMD指令,但只有最后一个生效,CMD会被docker run之后的参数替换

在这里插入图片描述
图片命令行相当于

EXPOSE 8080
CMD [“catelina.sh”,“run”]
CMD [“bin/bash”,“run”]
#CMD [“catelina.sh”,“run”]这行启动tomcat的指令不会被执行指挥以命令行打开tomcat(57800e5是tomcat的镜像ID),不会启动8080服务

在这里插入图片描述
ENTRYPIONT:也是用来指定一个容器启动时要运行的命令
类似于CMD指令,但是ENTRYPOINT不会被docker run后面的命令覆盖,
而且这些命令行参数会被当作参数送给ENTRYPOINT指令指定的程序
在这里插入图片描述
在这里插入图片描述

  • 20
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值