(二)docker之镜像和容器操作

本文详细介绍了Docker镜像和容器的基本操作,包括镜像的搜索、拉取及容器的创建、运行、停止等。同时,还涵盖了容器间端口映射、文件同步及守护式容器的创建等高级技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      上篇文章https://blog.youkuaiyun.com/qq_35008624/article/details/98586923总结了一下docker的认识和安装,这篇文章继续总结下镜像和容器的操作:

一、镜像的操作

(1)列出docker下的已安装所有镜像

docker images

(2)显示镜像ID

 docker images -q

(3)搜索镜像的信息

docker search [OPTIONS] 镜像名称

OPTIONS :
-s  列出关注数大于指定值的镜像
--no-trunc  显示完整的镜像描述DESCRIPTION
docker search -s 100 centos 1
docker search --no-trunc centos 1

NAME:仓库名称
DESCRIPTION:镜像描述
STARS:关注度,反应一个镜像的受欢迎程度
OFFICIAL:是否官方
AUTOMATED:自动构建,表示该镜像由Docker Hub自动构建流程创建的

(4)拉取镜像

 docker pull 镜像名:标签名
 docker pull mysql:5.6

二、容器的操作

(1)查看容器

查看正在运行容器:
docker ps
查看所有的容器(启动与未启动的容器):
docker ps -a
查看最后一次运行的容器:
docker ps –l
查看停止的容器
docker ps -f status=exited

(2)创建容器

docker run [OPTIONS] 镜像名:标签名

[OPTIONS]  常用的参数说明:
-i  表示交互式运行容器(就是创建容器后,马上会启动容器,并进入容器 ),通常与 -t  同时使用 。
-t  启动后会进入其容器去。即分配一个伪终端。
--name  为创建的容器指定一个名称 
-d  创建一个守护式容器在后台运行,并返回容器ID
-v  表示目录映射, 格式为: -p 宿主机目录:容器目录,映射后我们就可以直接通过宿主机同步文件到容器中了
-p  表示端口映射,格式为: -p 宿主机端口:容器端口

(3)进入容器

创建一个交互式容器并取名为lpf,(/bin/bash  是linux中的命令解析器,会进入到容器里面命令行)
docker run -it --name=lpf-tomcat tomcat:8 /bin/bash

【注意】所有的docker命令是在宿主机执行的,同一个镜像下可以创建多个容器,比如创建多个tomcat容器,但是端口映射为不同的端口

(4)退出容器

exit

(5)运行和停止容器

启动已运行过的容器
docker start 容器名称|容器id
启动所有运行过的容器(注意:反单引号` `), docker ps -a -q  是查询所有运行过的容器ID
docker start `docker ps -a -q`
停止正在运行的容器(正常停止)
强制停止正在运行的容器
docker kill 容器名称|容器id  
停止所有在运行的容器
docker stop `docker ps -a -q`

(6)创建守护式容器

   什么是守护式容器呢?就是我们想让这个容器长期运行,比如启动正跑着项目的tomcat服务。

docker run -id --name=mycentos2 centos:7

运行(-i)
创建(-d)

(7)登录已经启动的容器

docker exec -it 容器名称|容器id /bin/bash
eg:
docker exec -it tomcat-8080 /bin/bash

(8)同步文件到容器

docker cp 要拷贝的宿主机文件或目录  容器名称:容器文件或目录
eg:
把tomcats 下的文件拷贝到tomcat-docker-8088容器中的/webapps下
docker cp /usr/local/tomcats tomcat-docker-8088:/usr/local/tomcat/webapps

下面是创建并映射端口和文件路径
docker run -id --name=tomcat-8888 -p 8888:8080 -v 
/usr/local/project:/usr/local/tomcat/webapps --privileged=true tomcat:8
说明:
-p  表示地址映射, 宿主机端口号:容器运行端口号
-v  表示地址映射, 宿主机目录:容器映射目录
--privileged=true  如果映射的是多级目录,防止有可能会出现没有权限的问题,所以加上此参数

(9)宿主机与容器的目录挂载(路径映射)

docker run -id -v /宿主机绝对路径目录:/容器内目录 --name=容器名   镜像名
目录挂载只读(Read-only)权限

docker run -id -v /宿主机绝对路径目录:/容器内目录:ro --name=容器名   镜像名
docker run -id -v /tomcats:/webapps:ro --name=tomcat-80 tomcat:8

(10)容器其他信息查看

查看容器IP地址:
docker inspect --format='{{.NetworkSettings.IPAddress}}' tomcat-8080
查看容器运行内部细节(包括ip等等信息):
docker inspect tomcat-8080

(11)删除容器

删除指定的容器:docker rm 容器名称 | 容器ID
注意下删除只能删除停止的容器,在删除前先停止容器

以上就是docker容器和镜像的基本操作,下篇文章总结常用容器的安装和项目的部署,比如tomcat,mysql,redis等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值