千家信息网

Docker镜像和容器的常用命令

发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,练习环境:操作系统:CentOS Linux release 7.5.1804 (Core)虚拟工具:VMware应用容器引擎: Docker version 1.13.1一.镜像容器其实是在镜像的最
千家信息网最后更新 2025年12月01日Docker镜像和容器的常用命令

练习环境:

操作系统:CentOS Linux release 7.5.1804 (Core)

虚拟工具:VMware

应用容器引擎: Docker version 1.13.1

一.镜像

容器其实是在镜像的最上面加了一层读写层,在运行容器里做的任何文件改动,都会写到这个读写层。如果容器删除了,最上面的读写也就删除了,改动也就丢

失了。

1.配置成国内镜像

方法一:docker官方

#vi /etc/docker/daemon.json

{

"registry-mirrors": ["https://registry.docker-cn.com/"]

}

方法二:阿里

[root@docker /]# cat /etc/docker/daemon.json

{

"registry-mirrors": ["https://9cpn8tt6.mirror.aliyuncs.com"]

}

2.镜像常用命令操作

[root@docker /]# systemctl restart docker

#下载指定版本镜像

[root@docker /]# docker pull nginx:1.12

#显示所有镜像

[root@docker /]# docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

busybox v2 6e9545b1e2a2 17 minutes ago 1.22 MB

26795fdb6ee8 18 minutes ago 1.22 MB

docker.io/tomcat latest 4e7840b49fad 6 days ago 529 MB

docker.io/nginx latest a1523e859360 6 days ago 127 MB

docker.io/python 3.5 0320ef7199ca 6 days ago 909 MB

docker.io/mysql latest c8ad2be69a22 6 days ago 465 MB

docker.io/php latest e66ae809d99a 6 days ago 405 MB

docker.io/httpd latest c5a012f9cf45 7 days ago 165 MB

docker.io/mongo latest bcef5fd2979d 11 days ago 386 MB

docker.io/ubuntu latest 72300a873c2c 11 days ago 64.2 MB

docker.io/centos latest 470671670cac 6 weeks ago 237 MB

docker.io/busybox latest 6d5fcfe5ff17 2 months ago 1.22 MB

#删除所有无名称的镜像

[root@docker overlay2]# docker rmi $(docker images -f "dangling=true" -q)

#查看镜像历使

[root@docker overlay2]# docker image history centos

IMAGE CREATED CREATED BY SIZE COMMENT

470671670cac 6 weeks ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0 B

6 weeks ago /bin/sh -c #(nop) LABEL org.label-schema.... 0 B

7 weeks ago /bin/sh -c #(nop) ADD file:aa54047c80ba300... 237 MB

#显示镜像详细信息

[root@docker /]# docker image inspect nginx

......

[root@docker /]# docker image pull nginx:1.11

......

#删除指定镜像

[root@docker /]# docker image rm nginx:1.12

Untagged: nginx:1.12

Untagged: docker.io/nginx@sha256:72daaf46f11cc753c4eab981cbf869919bd1fee3d2170a2adeac12400f494728

Deleted: sha256:19f98a1ae65cc06a1f35e86ff4a7894c7f8fab2313a35503166233d470ff3752

Deleted: sha256:d626a8ad97a1f9c1f2c4db3814751ada64f60aed927764a3f994fcd88363b659

#对引用镜像做个标记

[root@docker /]# docker tag nginx:1.11 nginx:v1

[root@docker /]# docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

docker.io/nginx 1.11 5766334bdaa0 2 years ago 183 MB

nginx v1 5766334bdaa0 2 years ago 183 MB

#保存镜像文件

[root@docker /]# docker image save nginx:1.11 > nginx1.11.tar

[root@docker /]# du -sh nginx1.11.tar

182M nginx1.11.tar

#加载镜像文件

[root@docker /]# docker load

Loaded image: nginx:1.11

#导出容器文件

[root@docker /]# docker export 3c28790c0a41 > sky9899.tar

[root@docker /]# du -sh sky9899.tar

1.4M sky9899.tar

#导入容器文件

[root@docker /]# docker image import sky9899.tar sky9899:self

sha256:1302c27299d6326c256baeca85504fabb30b92abd480c234284fc567458fcac7

[root@docker /]# docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

sky9899 self 1302c27299d6 4 seconds ago 1.22 MB

3.容器常用操作命令

#运行容器,如果不存在,默认会下载

[root@docker sky9890]# docker container run -itd --name bs busybox

Unable to find image 'busybox:latest' locally

Trying to pull repository docker.io/library/busybox ...

latest: Pulling from docker.io/library/busybox

bdbbaa22dec6: Pull complete

Digest: sha256:6915be4043561d64e0ab0f8f098dc2ac48e077fe23f488ac24b665166898115a

Status: Downloaded newer image for docker.io/busybox:latest

3c28790c0a4187063324aafed93caf6d5589d17c9b458001c7b6232205a97907

#查看在使用的容器

[root@docker sky9890]# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

3c28790c0a41 busybox "sh" 12 seconds ago Up 10 seconds bs

#执行bs容器

[root@docker sky9890]# docker container attach bs

/ # ls

bin dev etc home proc root run sys tmp usr var

/ # ls

bin dev etc home proc root run sys tmp usr var

/ # ps -ef

PID USER TIME COMMAND

1 root 0:00 sh

8 root 0:00 ps -ef

/ # ifconfig

eth0 Link encap:Ethernet HWaddr 02:42:AC:11:00:02

inet addr:172.17.0.2 Bcast:0.0.0.0 Mask:255.255.0.0

inet6 addr: fe80::42:acff:fe11:2/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:16 errors:0 dropped:0 overruns:0 frame:0

TX packets:8 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:1296 (1.2 KiB) TX bytes:648 (648.0 B)

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING MTU:65536 Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

/ #exit #退出后,容器即停止了

[root@docker sky9890]# docker container start bs

bs

#执行容器bs

[root@docker sky9890]# docker container attach bs

/ # exit #退出后,容器容在运行

[root@docker sky9890]# docker container run -itd -e a=123 --name bs1 busybox

b14e43e4cbc3924af1f8425edc2cce43bf8682e1f7b3436f06bfa02cb5db0071

[root@docker sky9890]# docker exec -it bs1 sh

/ # ls

bin dev etc home proc root run sys tmp usr var

/ # echo $a

123

/ # exit

#指定容器端口

[root@docker sky9890]# docker container run -itd -p 8080:80 --name nginx01 nginx

2b6992269e6b9716c101d6cd8f11462b9bb05facbd7bae2b0b656baed2ff027d

[root@docker sky9890]# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

2b6992269e6b nginx "nginx -g 'daemon ..." 43 seconds ago Up 41 seconds 0.0.0.0:8080->80/tcp nginx01

b14e43e4cbc3 busybox "sh" 4 minutes ago Up 4 minutes

#获取nginx01容器日志

[root@docker sky9890]# docker logs nginx01

192.168.153.1 - - [04/Mar/2020:07:25:14 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0)

like Gecko" "-"

2020/03/04 07:25:15 [error] 6#6: *3 open() "/usr/share/nginx/html/favicon.ico" failed (2: No such file or directory), client:

192.168.153.1, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "192.168.153.141:8080"

192.168.153.1 - - [04/Mar/2020:07:25:15 +0000] "GET /favicon.ico HTTP/1.1" 404 555 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT

6.0; Trident/4.0)" "-"

[root@docker sky9890]# ls /var/lib/docker/containers/

#限制CPU和内存资源

[root@docker sky9890]# docker container run -itd --cpus 1 --memory 512m --name nginx02 nginx

b66722038a14775cb47b9d4f954c27373433cf89a6e0a544630903d90aba1a08

#容器资源使用统计

[root@docker sky9890]# docker container stats nginx02

CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS

nginx02 0.00% 1.375 MiB / 512 MiB 0.27% 648 B / 648 B 0 B / 0 B 2

#列出容器

[root@docker sky9890]# docker container ls

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

b66722038a14 nginx "nginx -g 'daemon ..." 8 minutes ago Up 8 minutes 80/tcp nginx02

2b6992269e6b nginx "nginx -g 'daemon ..." 23 minutes ago Up 23 minutes 0.0.0.0:8080->80/tcp nginx01

b14e43e4cbc3 busybox "sh" 27 minutes ago Up 27 minutes bs1

#显示容器详细信息

[root@docker sky9890]# docker container inspect b66722038a14

[root@docker sky9890]# docker exec -it nginx01 bash

root@2b6992269e6b:/#

[root@docker sky9890]# docker commit bs1 busybox:v2

sha256:6e9545b1e2a2254243ef2599bce5337aa5f67d57cef1d4aa7aa1622e3f1a4921

[root@docker sky9890]# docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

busybox v2 6e9545b1e2a2 8 seconds ago 1.22 MB

docker.io/mongo latest bcef5fd2979d 11 days ago 386 MB

docker.io/ubuntu latest 72300a873c2c 11 days ago 64.2 MB

docker.io/centos latest 470671670cac 6 weeks ago 237 MB

docker.io/busybox latest 6d5fcfe5ff17 2 months ago 1.22 MB

#拷贝文件到bs1容器中

[root@docker /]# docker container cp sky9899.zip bs1:/root

[root@docker /]# docker container exec bs1 ls /root

sky9899.zip

#重启容器

[root@docker /]# docker restart bs1

bs1

[root@docker /]# docker container exec bs1 ls /root

sky9899.zip

#查看容器日志

[root@docker /]# docker logs nginx01

[root@docker /]# docker port nginx01

80/tcp -> 0.0.0.0:8080

[root@docker /]# docker stats nginx02

#启动容器

[root@docker /]# docker start b66722038a14

#停止容器

[root@docker /]# docker stop b66722038a14

#删除容器

[root@docker /]# docker rm b66722038a14

容器 镜像 文件 运行 命令 常用 信息 方法 日志 资源 操作系统 内存 名称 官方 工具 引擎 拷贝 是在 标记 版本 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全宣传视频你拍一我拍一 青山区海航网络安全维护管理系统 数据库启用登录失败处理功能 wince 直连数据库 数据库怎么重新打开 sql数据库中的建表语句怎么看 常德集推网络技术有限公司 郏县精算互联网科技有限公司 软件开发项目部门职责怎么写 上位机软件开发界面 电子商务软件开发服务公司 打服务器原理 mysql建数据库语句 某软件开发企业系一般纳税人 福建通用软件开发代理价格 广州三今网络技术有限公司 济南社动网络技术 韩国关闭的游戏服务器 福建省软件开发公司 网络技术咨询税率是多少 属于数据库技术应用的是 泰格至尊连不上数据库 阿里四川网络技术 软件开发服务单位是什么 电信数据库在哪里 冬奥会网络安全等级保护 广州三今网络技术有限公司 福建定制网络技术咨询计划表 lsm数据库怎么用 杭州挖媒网络技术有限公司
0