ToB企服应用市场:ToB评测及商务社交产业平台

标题: Docker容器的基础命令操作大全(入门必看) [打印本页]

作者: 反转基因福娃    时间: 2024-9-12 14:44
标题: Docker容器的基础命令操作大全(入门必看)
本指南将带您深入了解Docker的根本操作,包罗镜像的管理、容器的创建与删除,以及如何高效地使用Docker进行开发和部署。通过这些内容,您将掌握Docker的焦点概念,为未来的项目奠定坚实的基础。让我们一起开启这段探索之旅,发现Docker带来的无穷可能!
1.搜刮镜像a

  1. docker search httpd  
复制代码

2.获取镜像

命令格式:
docker pull 堆栈名称[标签]
下载镜像httpd
docker pull httpd
实例:
  1. [root@localhost ~]# docker pull httpd
  2. Using default tag: latest
  3. latest: Pulling from library/httpd
  4. e4fff0779e6d: Already exists
  5. 1d0292c3dcd2: Already exists
  6. 4f4fb700ef54: Already exists
  7. 1316399d8fbf: Already exists
  8. b4cc6570db82: Already exists
  9. fd1a778092db: Already exists
  10. Digest: sha256:3f71777bcfac3df3aff5888a2d78c4104501516300b2e7ecb91ce8de2e3debc7
  11. Status: Downloaded newer image for httpd:latest
复制代码
3.检察已下载镜像
命令格式
docker images
堆栈名称:[标签]
实例:
  1. [root@localhost ~]# docker images
  2. REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
  3. httpd        latest    a49fd2c04c02   4 weeks ago   148MB
  4. nginx        latest    900dca2a61f5   7 weeks ago   188MB
复制代码

单独检察某个镜像
  1. docker images
  2. httpd:latest
  3. REPOSITORY   TAG              CREATED       SIZE
  4. httpd        latest    a49fd2c04c02   4 weeks ago   148MB
复制代码
检察镜像详情

docker inspect a49fd2c04c02(IMAGE ID号)
镜像的具体信息中包罗创建时间、体系版本、主机名、域名、用户、卷、标签、操作体系,装备 ID等各种信息。
3.修改标签

可以用 dockertag 命令来为当地的镜像添加新的标签
语法格式
docker tag httpd:旧标签 httpd:新标签
实例:
  1. [root@localhost ~]# docker tag httpd:latest httpd:mytag
  2. [root@localhost ~]# docker images
  3. httpd:latest
  4. REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
  5. httpd        latest    a49fd2c04c02   4 weeks ago   148MB
  6. [root@localhost ~]# docker images
  7. REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
  8. httpd        latest    a49fd2c04c02   4 weeks ago   148MB
  9. httpd        mytag     a49fd2c04c02   4 weeks ago   148MB
  10. nginx        latest    900dca2a61f5   7 weeks ago   188MB
  11. httpd:latest 是原始标签。
  12. httpd:mytag 是你新添加的标签。
复制代码
这两个标签都指向同一个镜像 ID,因此它们共享类似的内容和巨细。

你可以使用这两个标签来运行类似的镜像。
  1. docker run httpd:latest
  2. docker run httpd:mytag
复制代码
4.删除镜像(两种)

使用docker rmi命令删除镜像
镜像ID删除

你可以使用镜像的 ID 来删除镜像。例如:
  1. docker rmi a49fd2c04c02
复制代码
需要注意的是:
假如镜像被多个标签引用
强制删除镜像
假如你确定要删除该镜像,可以使用 -f选项强制删除:
  1. docker rmi -f a49fd2c04c02
复制代码
也可以删除标签,然后在通过镜像ID删除
标签删除

你也可以使用镜像的名称和标签来删除镜像。例如:
  1. docker rmi httpd:latest
  2. docker rmi httpd:mytag
复制代码
注意事项

当一个镜像有多个标签的时间,docker rmi 命令只是删除该镜像多个标签中的指定标签,不会影响镜像文件,相称于只是删除了镜像的一个标签而已。
!!! 假如镜像正在被容器使用,你可能需要先停止并删除相关的容器,才华成功删除镜像。
docker ps -a

5.存出镜像

语法格式
  1. docker save -o <保存的文件名>.tar <镜像名>:<标签>
复制代码
实例如下:
存出镜像/dmk
使用 docker save 命令将镜像保存为一个 tar 文件
  1. [root@localhost ~]# docker save -o httpd.tar httpd:mytag
  2. [root@localhost ~]# ll
  3. 总用量 148616
  4. -rw-------. 1 root root 152180736 8月  15 14:56 httpd.tar
  5. //这条命令会将 httpd:latest 镜像保存为名为 myimage.tar 的文件。
复制代码
6.载入镜像

语法格式
使用 docker load 命令从 tar 文件中加载镜像:
  1. docker load -i <文件名>.tar
复制代码
实例:
首先需要删除镜像,然后进行恢复
例如,从 httpd.tar 文件中导入镜像,可以使用
  1. docker load -i httpd.tar
复制代码
检察是否成功
  1. docker images
复制代码

总结
导出镜像
  1. docker save -o <文件名>.tar <镜像名>:<标签>
复制代码
导入镜像
  1. docker load -i <文件名>.tar
复制代码
Docker容器操作

1.创建容器

  1. [root@localhost ~]# docker create -it --name web01 -p 80:80 httpd:latest /bin/bash
  2. a68edea9638730c70363e7a32d9b3a3b21e7938d39343abdd5a2d9a9babd8c39
复制代码
参数解释docker create: 创建一个新容器,但不启动它。-it: 以交互模式运行容器,并分配一个伪终端。–name web01: 为容器指定名称为 web01。-p 80:80: 将主机的 80 端口映射到容器的 80 端口。httpd:latest: 使用 httpd 镜像的最新版本。/bin/bash: 指定容器启动时执行的命令。
2.启动容器

  1. [root@localhost ~]# docker start web01  /或者ID
  2. web01
  3. [root@localhost ~]# docker ps
  4. CONTAINER ID   IMAGE          COMMAND       CREATED         STATUS         PORTS                               NAMES
  5. a68edea96387   httpd:latest   "/bin/bash"   3 minutes ago   Up 3 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp   web0
复制代码

关闭容器
  1. docker stop web01 /或者ID
复制代码
3.创建并开启

  1. docker run -d --name nginx-do -p 80:80 nginx
复制代码
-d:在后台运行容器(分离模式)。–name nginx-do:为容器指定一个名称(可选)。-p 80:80:将主机的 80 端口映射到容器的 80 端口。

4.容器的进入


要进入正在运行的容器,您可以使用 docker exec 命令。
根本语法如下:
  1. docker exec -it <容器名称或ID> /bin/bash
复制代码
实例
假设您有一个名为 nginx 的容器,可以通过以下命令进入
  1. docker exec -it nginx-do /bin/bash
  2. root@2ee5e3023732:/# ls
  3. bin  boot  dev  docker-entrypoint.d  docker-entrypoint.sh  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
复制代码
5.导出容器

要导出一个容器的文件体系,可以使用 docker export 命令。此命令将容器的文件体系导出为一个 tar 文件。
示例
假设您要导着名为 nginx-do的容器
  1. [root@localhost ~]# docker export nginx-do > nginx-do.tar
  2. [root@localhost ~]# ls
  3. httpd.tar  nginx-do.tar
复制代码
这将创建一个名为 nginx-do.tar 的文件,包含容器的文件体系。
6.导入容器

要从一个 tar 文件导入容器,可以使用 docker import 命令。此命令将 tar 文件导入为一个新的镜像。
示例
假设您要从 nginx-do.tar 文件导入一个新的镜像:
  1. cat nginx-do.tar | docker import - nginx:latest
复制代码
这将创建一个名为 nginx:latest的新镜像。

7.容器的删除

在 Docker 中,删除容器可以通过 docker rm 命令进行。

首先,您可以检察当前全部容器(包罗运行中的和已停止的):
  1. docker ps -a
复制代码

要删除一个已停止的容器,可以使用以下命令:
  1. docker rm <容器名称或ID>
复制代码
示例假如您要删除名为 nginx-do 的容器:
  1. docker rm nginx-do
复制代码

假如您需要删除一个正在运行的容器,可以使用 -f(或 --force)选项强制删除:
  1. docker rm -f <容器名称或ID>
复制代码
示例强制删除正在运行的 nginx-do 容器:
  1. docker rm -f nginx-do
复制代码

  1. docker rm <容器1> <容器2> ...
复制代码
示例
  1. docker rm nginx-do
  2. nginx-other
复制代码

  1. docker container prune
复制代码

注意事项

确保您不再需要容器中的数据,因为删除容器后,容器的文件体系及其数据将永世丢失。假如容器是基于某个镜像创建的,删除容器不会影响该镜像
总结

Docker是一种强大的容器化技术,极大地简化了应用程序的开发、测试和部署流程。通过使用Docker,开发者可以轻松地创建、管理和共享容器化应用,确保在不怜悯况中的一致性。
成功的路上没有捷径,只有不停的努力与坚持。假如你和我一样,坚信努力会带来回报,请关注我,点个赞,一起欢迎更加优美的来日诰日!你的支持是我继续前行的动力!"
“每一次创作都是一次学习的过程,文章中如有不足之处,还请大家多多包容。你的关注和点赞是对我最大的支持,也欢迎大家提出名贵的意见和建议,让我不停进步。”

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4