docker的基本命令及操作逻辑
admin
2023-03-29 17:21:17
0

docker镜像操作逻辑图:

docker的基本命令及操作逻辑

docker是一个容器,而运行一个容器必须要有镜像,因为镜像是容器的核心,我们在docker上运行一个服务时需要通过docker run运行一个镜像,才能够进入到该容器中,我们也可以使用docker commit命令 将一个容器制作成一个镜像,但注意制作一个镜像时需要指定一个完整的镜像名称(镜像名称+版本号),它默认的版本号是latest,表示为最新版本的镜像,如果不写,将默认已latest结尾。
还可以执行docker save --output命令导出该镜像,而当你需要下载一个服务时,可以使用docker load  --input 命令导入该镜像,当然也可以使用>号或者<号来导入或导出。
也可以从docker hub公共仓库中使用docker pull拉取镜像,除了可以拉取,我们也可以使用dokcer push 将自己本地的镜像上传到公共仓库中。
如果在公司中是不可能将自己的镜像上传到公共仓库中的,所以我们可以将镜像上传到自己内部的私有仓库中,这个私有仓库可以通过官方的registry容器来进行构建,当需要下载某个服务时,也可以从私有仓库中使用pull命令进行拉取。

docker基本命令:

//查看正在运行的容器:
[root@sqm-docker01 ~]# docker ps
//查看所有容器(包括没有正在运行的容器)
[root@sqm-docker01 ~]# docker ps -a
//查看docker的信息:
[root@sqm-docker01 ~]# docker info
//查找镜像:
[root@sqm-docker01 ~]# docker search mysql
//下载,拉取镜像:
[root@sqm-docker01 ~]# docker pull httpd
/保存镜像为tar包:
[root@sqm-docker01 ~]# docker save --output my-httpd.tar httpd
或者使用:
[root@sqm-docker01 ~]# docker save  > httpd.tar httpd:latest
//查看本地镜像:
[root@sqm-docker01 ~]# docker images
docker的基本命令及操作逻辑

注意:latest:表示是最新版本的镜像,但不是绝对最新,因为TAG标签可以进行更改。
完整的镜像名称----->>>  image:latest(镜像名称+版本号)
如果版本号默认是以latest为结尾,可以省略不写。

//删除镜像:
[root@sqm-docker01 ~]# docker rmi httpd:latest
#加上-f选项可以强制删除:
[root@sqm-docker01 ~]# docker rmi -f centos:latest
//删除容器:(先停止容器后再删除)

[root@sqm-docker01 ~]# docker stop my_nginx 
my_nginx
[root@sqm-docker01 ~]# docker rm my_nginx 
my_nginx

同样加上-f选项可以强制删除:

[root@sqm-docker01 ~]# docker rm -f my_nginx 
my_nginx

//导入镜像:
[root@sqm-docker01 ~]# docker load < my-httpd.tar
或者使用:
[root@sqm-docker01 ~]# docker load --input my-httpd.tar

//进入容器:

[root@sqm-docker01 ~]# docker exec -it  test  /bin/bash   
或者
[root@sqm-docker01 ~]# docker attach test

注意:如果是attach进入容器,退出之后,容器会停止运行,而exec不会
exec  进入容器会开启新的进程,attach不会(进入的还是同一个终端)。
ctrl + p  ctrl +q :如果是attach进入的容器, ctrl + p  ctrl +q 退出容器,并且保持容器运行。  #注意两个快捷键得同时按

//开启容器:
[root@sqm-docker01 ~]# docker start test
//关闭容器:
[root@sqm-docker01 ~]# docker stop test
//重启容器:
[root@sqm-docker01 ~]# docker restart test
//删除所有容器:
[root@sqm-docker01 ~]# docker ps -a -q | xargs docker rm -f
//删除所有镜像:
[root@sqm-docker01 ~]# docker images -q | xargs docker rmi -f
//开启所有容器:
[root@sqm-docker01 ~]# docker ps -a -q | xargs  docker start
//关闭所有容器:
[root@sqm-docker01 ~]# docker ps -a -q | xargs  docker stop

//查看容器的日志:
[root@sqm-docker01 ~]# docker logs test2
//实时更新日志:
[root@sqm-docker01 ~]# docker logs test2 -f

//保持容器开启状态(用于docker服务重启之后)
[root@sqm-docker01 ~]# docker run -itd --name test3 --restart=always httpd

--restart=always:随着容器的重启而重启

//将容器制作成镜像:
[root@sqm-docker01 ~]# docker commit web01 test-web:v1.0

docker commit后面跟的是需要制作成镜像的容器,制作成的镜像名称和标签可以自定义。

//运行容器:
[root@sqm-docker01 ~]# docker run -itd --name my_nginx -p 80:80 --restart=always nginx:latest

参数解释:
run:运行一个容器
-itd: i:可交互
t:伪终端
d:保持容器后台运行
--name:自定义名称为my_nginx

  • p:映射端口,宿主机端口:容器内端口
    --restart=always:保持容器运行

相关内容

热门资讯

特朗普下令不打了,美国的“余粮... 可以说戛然而止,快得让很多人都无法适应。前两周,每一天美国都要打击伊朗一通。就在7月24日白宫会议前...
穆杰塔巴最新表态:支持黎真主党 △伊朗最高领袖穆杰塔巴·哈梅内伊(资料图)当地时间7月26日晚,伊朗最高领袖穆杰塔巴·哈梅内伊对黎巴...
美军瘫痪一艘驶向伊朗的油轮,特... 美国总统特朗普虽下令暂停打击伊朗,但美军仍在执行对霍尔木兹海峡的封锁任务。针对美军瘫痪一艘驶向伊朗油...
“小牌大耍”的底气到底是哪里来... 澎湃首席评论员 李平这两天,“艺人李权哲乘高铁占座事件”在网上引发热议,该艺人参加的活动主办方曾发布...
越南籍船舶南海遇险沉没,中方已... 据凤凰卫视报道,一艘越南船舶7月24日夜间在越南庆和以东220海里附近遇险沉没,船上共62名越南籍人...
李权哲占座、蒙面、装死:娱乐圈... 你买了一张高铁一等座的票,找到自己的位置,18A。有人坐着。你拿出手机看了眼购票记录——没错,18A...
杭州景区咖啡店闯入1条幼蛇,仅... 夏天气温高、湿度大,蛇类活动进入高峰期,千万别被“小蛇无害”的刻板印象骗了!有些幼蛇看着迷你可爱,实...
AI开源公开信签署企业增至50... IT之家 7 月 26 日消息,英伟达、微软、IBM、Meta 等 25 家美国科技企业本周(7 月...
南阳快手短视频代运营企业的服务... 在短视频平台快速发展的背景下,企业通过快手等渠道进行内容运营已成为常见的市场动作。对于希望借助短视频...
普通人该如何跟上科技发展的步伐 这个被称作科技的词汇, 听起来既有宏大之感, 又颇为遥远, 好似仅仅归属于在实验室里专心致志钻研的科...