2026.1.29 docker的使用

操作docker镜像

1,获取镜像

docker pull 镜像名称

2,搜寻镜像

(仓库官网 https://hub.docker.com/)

3,查看镜像信息

docker images

4,添加镜像标签,变为特定的标签

docker tag 镜像名 指定镜像名:标签

5,查看镜像详细信息

docker inspect 镜像名:镜像TAG

6,删除和清理镜像

docker rmi -f 镜像ID号

步骤-docker images 查看镜像ID-复制想要删除的镜像ID- 使用docker rmi -f 镜像ID号

7,创建与打包镜像

docker commit 容器名称 新镜像名称:版本号

docker commit 容器ID 新镜像名称

基于已有的容器制作新镜像

8,上传镜像到仓库

docker save -o 指定保存镜像的位置 指定导入的镜像(必须指定保存的名称,不然执行下方docker load命令后,查看镜像,名称和TAG会显示<none>)

(图片转载原至CSDN作者:SDABC工作室)

docker load -i 指定导入的镜像位置

hello-world2.iso

会将指定的镜像导入到仓库

docker pull hello-world

pull镜像hello-world

操作docker容器

1,查看正在运行的容器

docker ps

docker ps -a 查看所有容器

docker run -itd

-i 以交互方式运行容器 -t -d

2,创建并启动容器(推荐)

docker run -itd 镜像ID bash

docker run -itd

3,创建容器

docker create -it 镜像ID

docker create创建完容器后不会自启动,用docker run命令创建完会自启动

4,启动容器

docker start 容器ID

docker restart 容器ID

容器ID用docker ps 查看

5,进入容器

docker exec -it 容器ID bash

进入容器必须保证容器处于 正在运行的状态

退出容器(在容器中输入) exit

6,删除容器

docker rm -f 容器ID

7,停止容器

docker stop 容器ID

容器ID用docker ps 查看

8,导入和导出容器

9,查看容器

docker ps

docker inspect 容器ID

查看容器的详细信息

查看正在运行的容器

docker ps -a

查看所有容器

10,其他容器命令:容器中复制文件、查看文件变更,端口映射,更新配置(容器开机自启)

docker run -itd -p 要使用端口:映射端口 --name="容器名" 容器ID bash

端口映射

docker export -o 导出的镜像路径 容器ID

导出容器

docker import 导入的镜像路径 取一个名称

导入容器

docker cp 本地文件路径 容器ID:/

将主机的文件复制到容器

docker update --restart always 容器ID

开机自启动容器

docker commit 容器ID 新镜像名称

基于已有的容器制作新镜像

1)基于已有的容器创建 2)基于本地模板3)基于dockerfile创建

练习

一、镜像操作

从Docker Hub拉取最新版本的Nginx镜像

docker pull nginx

列出本地所有Docker镜像(包括镜像ID、仓库名、标签、大小等信息)

docker images

删除本地名为"ubuntu:18.04"的镜像(如果存在)

docker rmi -f ubuntu:18:04

docker rmi -f 镜像ID号

使用当前目录下的Dockerfile构建一个名为"myapp:1.0"的镜像

docker build -t myapp:1.0

查看镜像"nginx:latest"的详细信息

docker inspect nginx:latest

给镜像"ubuntu:20.04"添加一个新标签"my-ubuntu:v2"

docker tage ubunut:latest my-ubunut:v2

将本地镜像"myapp:1.0"导出为tar文件"myapp.tar"

复制代码
docker save -o myapp.tar myapp:1.0

二、容器操作

以后台模式运行一个名为"web-server"的Nginx容器

docker run --name web-server nginx:latest

运行一个Nginx容器,并将容器的80端口映射到主机的8080端口

docker run -d -p 8080:80 --name nginx-container nginx

列出所有正在运行的容器

docker ps

列出所有容器(包括已停止的)

docker ps -a

进入名为"web-server"的容器内部并启动交互式终端

docker exec -it web-server bash

停止名为"web-server"的容器

docker stop web-server

启动已停止的容器"web-server"

docker restart web-server

删除已停止的容器"web-server"

docker rm -f web-server

查看容器"web-server"的实时日志(上一题已经删除,所以要重新创建)

docker run -d --name web-server -p 80:80 nginx

docker logs -f web-server

从容器"web-server"中复制文件/usr/share/nginx/html/index.html到当前主机目录

docker cp web-server:/usr/share/nginx/html/index.html /root/

查看所有容器的资源使用情况(CPU、内存等)

docker stats

三、综合操作

清理所有已停止的容器

docker container prune

清理所有未被使用的镜像(悬空镜像)

docker image prune

相关推荐
Brilliantwxx3 小时前
【Linux】 进程(9)程序与进程地址空间(基础+进阶+面试题)
linux·运维·服务器·开发语言·c++
BullSmall3 小时前
第三方软件安全-Dependency‑Track Docker 部署
安全·docker·容器
richdata4 小时前
商品数字化不是先做大数据,而是先把数据变成可用决策
大数据·运维·数据治理·商品数字化·智能补货·ai商品决策
harmony&4 小时前
Docker 容器技术从入门到实战:容器、网络、存储与监控全解析
docker·云原生
weixin_416667964 小时前
【无标题】
运维·服务器·网络
一池秋_5 小时前
arm低配linux设备,桌面应用冷启动提速方法
linux·运维·arm开发
上海云盾-小余6 小时前
流量攻击复盘:为什么 WAF 完好,业务依旧瘫痪
运维·服务器·网络
IT大白鼠7 小时前
Docker 私有仓库管理:Harbor 企业级仓库搭建与镜像全生命周期管理
运维·docker·容器
戴西软件7 小时前
戴西iDWS.3DViz Suite数据轻量化可视化软件,从传统桌面软件向云端协同的重大突破
大数据·运维·网络·人工智能·机器学习·3d
我命由我123458 小时前
Linux - Linux/POSIX 路径斜杠折叠规则
linux·运维·服务器·android studio·android jetpack·android-studio·android runtime