Docker 镜像命令

发布时间 2023-04-02 22:35:06作者: 小白一号(本降专)

Docker 镜像命令

1.Docker images--列出本地镜像

命令:docker images [OPTIONS] [REPOSITORY[:TAG]]

选项
-a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);

--digests :显示镜像的摘要信息;

-f :显示满足条件的镜像;

--format :指定返回值的模板文件;

--no-trunc :显示完整的镜像信息;

-q :只显示镜像ID。

2.Docker search--从DockerHub查找镜像

--automated :只列出 automated build类型的镜像;

--no-trunc :显示完整的镜像描述;

-s :列出收藏数不小于指定值的镜像。

3.Docker pull 从镜像仓库中拉取或者更新指定镜像

命令:docker pull [OPTIONS] NAME[:TAG|@DIGEST]

OPTIONS说明:

-a :拉取所有 tagged 镜像

--disable-content-trust :忽略镜像的校验,默认开启

实例
从Docker Hub下载java最新版镜像。

docker pull java

5.Docker rmi 删除镜像

docker rmi [OPTIONS] IMAGE [IMAGE...]
OPTIONS说明:

-f :强制删除;

--no-prune :不移除该镜像的过程镜像,默认移除;


例子:docker rmi -f $(Docker image -aq)

Docker 容器命令

说明:我们有了镜像才可以创建镜像,linux,下载一个centos镜像来学习

docker pull centos

新建容器并启动
docker run [可选参数] image

# 参数说明
--name="name"   #容器名字 tomcat1、tomcat2区分容器
-d           #后台方式运行
-it          #使用交互方式运行,进入容器查看内容
-p   		#指定容器的端口 -p 8080:8080
	-p ip:主机端口:容器端口
	-p 主机端口:容器端口
	-p 容器端口
-P          #随指定 
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;

-d: 后台运行容器,并返回容器ID;

-i: 以交互模式运行容器,通常与 -t 同时使用;

-p: 端口映射,格式为:主机(宿主)端口:容器端口

-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

--name="nginx-lb": 为容器指定一个名称;

--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;

--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;

-h "mars": 指定容器的hostname;

-e username="ritchie": 设置环境变量;

--env-file=[]: 从指定文件读入环境变量;

--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;

-m :设置容器使用内存最大值;

--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;

--link=[]: 添加链接到另一个容器;

--expose=[]: 开放一个端口或一组端口;

# 测试,启动
docker run -it centos /bin/bash
[root@b58a9e0697e2 /]# ls

#测试


#列出运行过的容器
docker ps
退出容器
exit #直接退出容器并退出
Ctrl + P + Q #退出容器但不停止
删除容器
docker rm 容器id  # 删除指定容器,不能删除正在运行的容器
docker rm -f $(docker ps -aq) #删除所有的容器
docker ps -a -q |xargs docker rm # 删除所有容器
启动和停止容器的操作
docker  start 容器id

docker restart 容器id

docker stop 容器id

docker kill 容器id
显示日志
docker logs 
查看容器中进程信息
docker top 容器id

docker inspect : 获取容器/镜像的元数据。
进入正在运行的容器
#方式一:
docker exec 容器id  /bin/bash
进入容器后打开一个新的终端

#方式二:
docker attach 容器id
进入容器正在执行的终端
从容器内拷贝文件到主机
PS D:\Desktop> docker cp b58a9e0697e2:/home/test.java ./

作业

安装Nginx

1.docker pull nginx

2.docker run --name nginx01 -p 3344(公网):80(容器)  -d 镜像

如何提交自己的一个镜像

Commit 镜像
docker commit

dcoker commit -m=“提交的信息” -a=“作者” 容器id 目标镜像名:[TAG]
匿名挂载和具名挂载
查看volume:docker volume ls
匿名挂载:
docker xxxx -v 容器路径

具名挂载:
docker xxxxx -v volume名称:容器路径