Docker-基础操作
wptr33 2025-05-22 14:10 7 浏览
一、镜像
1、从仓库获取镜像
搜索镜像:docker search image_name
搜索结果过滤:
是否官方: docker search --filter="is-offical=true" image_name
是否自动化构建:docker search --filter="is-automated=true" image_name
大于多少颗星:docker search --filter="star=3" image_name
下载镜像:docker pull image_name
2、本地镜像查看
docker images
3、本地镜像删除
docker rmi image_name
4、镜像保存、导入
#保存,支持多个
docker save -o image.tar nginx:latest centos:latest
#或者
docker save > image.tar nginx:latest centos:latest
# 导入
docker load -i image.tar
# 或者
docker load < image.tar
二、容器
1、创建容器
docker run -itd --name=container_name image_name
-i:表示以交互模式运行
-d:表示后台运行容器,并返回容器ID
-t:为容器重新分配一个伪终端输入
--name:为容器指定名称
2、查看容器(运行中的):
docker ps
例:
MacBook-Pro-62:~ root docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8ee532120231 centos-6.8-x86_64-php-7.1-meitu-dev "/www/mymall.meiyan.…" 5 months ago Up 2 minutes 80/tcp mymall.meiyan.dev
d53a15110c8d memcached "docker-entrypoint.s…" 5 months ago Up 2 minutes 11211/tcp memcache.dev
f94d716bd356 redis "docker-entrypoint.s…" 5 months ago Up 2 minutes 6379/tcp redis.dev
结果解析:
- CONTAINER ID(container id ) :顾名思义 ,容器ID的意思,可以通过这id找到唯一的对应容器
- IMAGE (image):该容器所使用的镜像
- COMMAND (command):启动容器时运行的命令
- CREATED (created):容器的创建时间,显示格式为”**时间之前创建“
- STATUS (status):容器现在的状态,状态有7种:
- created(已创建)
- restarting(重启中)
- running(运行中)
- removing(迁移中)
- paused(暂停)
- exited(停止)
- dead
- PORTS (ports):容器的端口信息和使用的连接类型(tcp\udp)
- NAMES (names):镜像自动为容器创建的名字,也唯一代表一个容器
3、查看容器(包括停止的):
docker ps -a
4、启动容器
docker start container_name/container_id
5、停止容器
docker stop container_name/container_id
6、重启容器
docker restart container_name/container_id
7、删除容器
docker rm container_name/container_id
三、容器的修改及保存
1、进入容器
docker exec -it container_name/container_id /bin/bash
2、退出容器
exit
3、提交修改
docker commit -a "author" -m "message" container_id/container_name new_image_name:tag_name
参数:
-a:可选,用于指定作者
-m:可选,提交信息,修改了哪些
container_id:容器ID
container_name:容器名称
new_image_name:新镜像名称,可自定义
tag_name:新镜像标签,不写默认为lastest
四、容器进阶
1、端口映射
docker run -itd -p 宿主端口号:容器端口号 ...
2、文件挂载
docker run -itd -v /宿主机/文件目录:/容器/目录
3、将容器文件复制到本地
docker cp 容器名:/容器目录/文件名 /宿主机目录/文件名
4、将本地的文件复制到容器
docker cp /宿主机目录/文件名 容器名:/容器目录/文件名
5、容器互联
docker run -itd --link 要关联的容器的名称:容器在被关联容器的别名
6、容器总是自动启动
--restart="always"
7、指定网桥
--network="nginx-proxy"
五、Dockerfile
1、什么是Dockerfile
Dockerfile就是名为Dockerfile的文件,文件中包含一些linux命令,Dockerfile通过读取文件中的一些命令来组建容器
2、Dockerfile文件内容结构
Dockerfile一般分为四部分:
- 基础镜像信息
- 维护者信息
- 镜像操作指令
- 容器启动时执行指令
#为Dockerfile中的注释
3、运行Dockerfile
docker build -t image_name:tag_name .
也可以通过-f来指定Dockerfile文件位置
docker build -t image_name:tag_name -f /path/Dockerfile
4、命令详解
From:指定基础镜像,必须为第一个命令
格式:
FROM <image>
FROM <image>:<tag>
FROM <image>@<digest>
示例:
FROM centos:7.0
相关推荐
- 时尚芭莎90秒|不是人造,我不要
-
各位网友大家好,欢迎来到时尚芭莎90秒!仙女们,过冬御寒的保暖单品备好了吗?在当下更讲究环保和人道主义的风向下,一件魅力不减的人造皮单品必须要加进你的必败清单,不是人造的,我可不穿。...
- Apex Stand三合一支架:简洁便携设计, 拯救你的桌面
-
这次体验的这款手机、平板、笔电三合一支架ApexStand或许可以帮你解决设备太多导致桌面太过凌乱的问题。ApexStand采用可折叠的设计,并且还配有收纳袋,这一切都给与了ApexStand优...
- 每日一荐:把iPad变成电视你觉得如何
-
iPad的屏幕尺寸介于大屏手机和笔记本电脑之间,怪异,但用途广泛。外设厂商在不遗余力地设计制造各种小玩意来妆点这块小平板,以致于有人将iPad折腾成了一个“复古电视”,这个创意你喜欢吗?这个小配件名为...
- Standalone是什么?Standalone集群的三类进程
-
Standalone是什么Standalone模式是Spark自带的一种集群模式,不同于前面本地模式启动多个进程来模拟集群的环境,Standalone模式是真实地在多个机器之间搭建Spark集群的环境...
- 坚守与支撑 - Hold Up and Stand Firm
-
Inlife'sjourney,theconceptof"holdup"playsavitalrole."Holdup"canme...
- 当齐秦翻唱英文神曲,这版《Stand By Me》直接唱进灵魂深处!
-
是一首英文歌曲,是我比较喜欢的一首,曲名叫standbyme,希望你们能够喜欢,谢谢。standbyme,ohstandbyme,ohstandnowstandbyme,if...
- 可以吃的“水泥”和“咖啡杯”!杨浦这家高颜值咖啡店“拍了拍”你
-
在热闹的五角场商圈,聚集着诸多网红咖啡馆。今天就跟着小编来看看拥有浓浓INS风的MSTAND咖啡馆吧~这家名叫MSTAND的咖啡馆因其浓浓的INS风,极具辨识度。整间店以黑白灰为主基调,配上金属质...
- 陈粒“洄游”巡演帷幕拉开 白衣赤足回溯音乐赤子心
-
封面新闻记者徐语杨11月9日晚,陈粒“洄游”全国巡回演唱会首场成都站温情开唱。陈粒阔别三年再度开启个人巡回演唱会,以精湛的现场舞台魅力与全新的先锋时尚造型、极具体验感的舞美和视觉创意设计,带来全新专...
- 把 iPad 变成“iMac”,elago 推出 Magnetic Stand 支架
-
IT之家11月30日消息,苹果在上月推出打开M2芯片的iPadPro之后,配件厂商elago近日推出了全新的MagneticStand铝合金支架,能够将iPadPro...
- Stand Studio 2025春夏系列,现代与经典的融合
-
StandStudio2025春夏系列,在经典的款式之中,结合了现代的流行元素,让其以崭新的面貌展现出来。让夹克套装、皮革、短裙等款式的服装,在纯色简约大方的气质中,流苏元素的装饰更多了细节潮范儿...
- M Stand全国机场首店入驻浦东机场
-
最近,MStand全国机场首店在浦东机场1号航站楼开业迎客,该品牌店位于浦东机场T1到达公众区4号门附近。MStand此次还专门把社交网络中的热门产品“鲜椰冰咖”带到了浦东机场店。MStand于...
- Java Scanner 类
-
java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入。下面是创建Scanner对象的基本语法:Scanners=newScanner...
- 扯一把 Spring 的三种注入方式,到底哪种注入方式最佳?
-
循环依赖这个问题,按理说我们在日常的程序设计中应该避免,其实这个本来也是能够避免的。不过由于种种原因,我们可能还是会遇到一些循环依赖的问题,特别是在面试的过程中,面试考察循环依赖,主要是想考察候选人对...
- 前端卷Java:我被Shiro的setCipherKey方法坑惨了
-
哎呀呀,昨晚我被Shiro那个CookieRememberMeManager的setCipherKey方法给坑惨了!明明它要求传入一个byte数组作为加密密钥,但是不告诉我这个数组的长度必须是16、2...
- 100个Java工具类之58:集合HashSet
-
HashSet是Java集合框架的一部分。...
- 一周热门
-
-
C# 13 和 .NET 9 全知道 :13 使用 ASP.NET Core 构建网站 (1)
-
因果推断Matching方式实现代码 因果推断模型
-
git pull命令使用实例 git pull--rebase
-
git 执行pull错误如何撤销 git pull fail
-
面试官:git pull是哪两个指令的组合?
-
git fetch 和git pull 的异同 git中fetch和pull的区别
-
git pull 和git fetch 命令分别有什么作用?二者有什么区别?
-
git pull 之后本地代码被覆盖 解决方案
-
还可以这样玩?Git基本原理及各种骚操作,涨知识了
-
git命令之pull git.pull
-
- 最近发表
- 标签列表
-
- git pull (33)
- git fetch (35)
- mysql insert (35)
- mysql distinct (37)
- concat_ws (36)
- java continue (36)
- jenkins官网 (37)
- mysql 子查询 (37)
- python元组 (33)
- mybatis 分页 (35)
- vba split (37)
- redis watch (34)
- python list sort (37)
- nvarchar2 (34)
- mysql not null (36)
- hmset (35)
- python telnet (35)
- python readlines() 方法 (36)
- munmap (35)
- docker network create (35)
- redis 集合 (37)
- python sftp (37)
- setpriority (34)
- c语言 switch (34)
- git commit (34)