【docker】镜像使用(Nginx 示例)

查看本地镜像列表

bash 复制代码
docker images

删除本地镜像

bash 复制代码
# docker rmi [容器 ID]

docker rmi a6bd71f48f68

查找镜像

bash 复制代码
docker search nginx
参数介绍
  • NAME: 镜像仓库源的名称
  • DESCRIPTION: 镜像的描述
  • OFFICIAL: 是否 docker 官方发布
  • STARS: 点赞、喜欢
  • AUTOMATED: 自动构建。

拉去镜像

bash 复制代码
# docker pull nginx:[标签] 
# 不指定标签,则下载latest标签
docker pull nginx

查看本地镜像列表

bash 复制代码
docker images
参数介绍
  • REPOSITORY:表示镜像的仓库源
  • TAG:镜像的标签
  • IMAGE ID:镜像ID
  • CREATED:镜像创建时间
  • SIZE:镜像大小

查看镜像信息

bash 复制代码
docker info

看到 Docker Root Dir: /var/lib/docker

进入Docker Root Dir并查看目录
bash 复制代码
cd /var/lib/docker/

ll
进入image
bash 复制代码
cd image/overlay2/

ll
查看repositories.json
bash 复制代码
cat repositories.json 
根据镜像ID查看信息
bash 复制代码
# docker inspect [镜像ID]

docker inspect a6bd71f48f68

给镜像增加新的标签

bash 复制代码
# 格式:docker tag 名称:[标签] 新名称:[新标签]

docker tag nginx:latest nginx:test

镜像ID是同一个。

导出镜像文件

bash 复制代码
# docker save -o 新镜像名  源镜像名

docker save -o nginx-test  nginx:latest

运行Nginx容器

bash 复制代码
docker run --name nginx-demo -p 8086:80 -d nginx
  • --name nginx-demo : 容器名
  • -p 8086:80 : 端口进行映射,将本地 8086 端口映射到容器内部的 80 端口
  • -d nginx : 设置容器在在后台一直运行

进入容器,修改文件

bash 复制代码
 docker exec -it nginx-demo  bash
  • docker exec : 进入容器内部,执行一个命令
  • -it : 给进入的容器创建一个标准输入、输出终端,允许我们与容器交互
  • nginx-demo:进入的容器的名称
  • bash:进入容器后执行的命令,bash是一个linux终端交互命令
bash 复制代码
# 进入nginx的HTML所在目录

cd /usr/share/nginx/html
bash 复制代码
# 修改index.html的内容
sed -i -e 's#Welcome to nginx#程序员食堂 开饭啦#g' -e 's#<head>#<head><meta charset="utf-8">#g' index.html

退出

exit 

创建镜像

复制代码
commit方式创建和Dockerfile 方式创建。推荐使用Dockerfile创建。但是在这里我们使用commit创建。
bash 复制代码
docker commit -m="update index" -a="chengxuyuanshitang" b8e5e42969da  shitang/nginx:v2
  • -m: 提交的描述信息 ,如:update index
  • -a: 指定镜像作者 ,如:chengxuyuanshitang
  • a6bd71f48f68:容器 ID
  • shitang/nginx:v2: 指定要创建的目标镜像名

再次查看镜像

bash 复制代码
docker images



相关推荐
baihb102443 分钟前
Jenkins 构建流水线
运维·jenkins
BUG 4041 小时前
LINUX--shell
linux·运维·服务器
菜鸟小白:长岛icetea1 小时前
Linux零基础速成篇一(理论+实操)
linux·运维·服务器
Java小白中的菜鸟3 小时前
centos7的磁盘扩容
linux·运维·服务器
黑客老陈4 小时前
面试经验分享 | 北京渗透测试岗位
运维·服务器·经验分享·安全·web安全·面试·职场和发展
橘子师兄4 小时前
如何在自己的云服务器上部署mysql
运维·服务器·mysql
@泽栖5 小时前
Docker 常用命令
运维·服务器·docker
鲁正杰6 小时前
在一个服务器上抓取 Docker 镜像并在另一个服务器上运行
运维·服务器·docker
aherhuo7 小时前
基于openEuler22.09部署OpenStack Yoga云平台(一)
linux·运维·服务器·openstack
WebDeveloper20017 小时前
如何使用美国域名中心US Domain Center和WordPress创建商业网站
运维·服务器·css·网络·html