docker生命周期管理和镜像管理命令详解

 更新时间:2023年08月29日 11:37:35   作者:恒悦sunsite  
Docker通过容器技术提供了一种轻量级、快速部署和可移植的应用程序运行环境,极大地简化了应用程序的部署和管理过程,提高了开发和运维的效率,这篇文章主要介绍了docker生命周期管理和镜像管理命令,需要的朋友可以参考下

一、docker简介

  Docker是一个开源的容器化平台,用于构建、部署和管理应用程序。它使用容器技术来将应用程序及其依赖项打包为一个独立的可移植容器,可以在不同的环境中运行,而不需要依赖特定的操作系统或硬件。  Docker的主要特点包括:

  • 快速部署:Docker容器可以在几秒钟内启动,相比于传统的虚拟机技术,具有更快的启动速度和更小的资源消耗。
  • 轻量级:Docker容器共享主机操作系统的内核,因此可以更高效地利用系统资源,并且容器本身也比虚拟机映像更小巧。
  • 环境一致性:通过使用Docker容器,可以确保应用程序在不同的环境中具有一致的运行结果,避免了由于环境差异导致的问题。
  • 可移植性:Docker容器可以在不同的环境中运行,包括物理机、虚拟机、云服务器等,提供了更大的灵活性和可移植性。
  • 简化部署和管理:Docker提供了一套简单易用的命令行工具和API,可以方便地创建、部署和管理容器,大大简化了应用程序的部署和管理流程。

  总之,Docker通过容器技术提供了一种轻量级、快速部署和可移植的应用程序运行环境,极大地简化了应用程序的部署和管理过程,提高了开发和运维的效率。

二、docker生命周期管理命令

1、docker run创建一个容器并启动

  docker run命令是使用镜像创建一个容器并启动,使用-it参数以交换模式运行容器,创建后自动进入了容器,退出容器后容器停止运行。如果需要容器后台继续运行使用-itd参数。

[root@yws55 ~]# docker run -it --name rtest ubuntu:latest
root@55ea2b8cb24f:/# exit
[root@yws55 ~]# docker run -itd --name r3 ubuntu:latest
88749d15d10d5746dad7d0b9bb333adc8ea3cac4fd2b6cb8b8d68bea2955321d

2、docker create创建一个容器但不启动

  docker create创建容器和docker run参数几乎是一样的,区别就是一个创建后启动容器,而docker create创建容器后状态为created。

在这里插入图片描述

[root@yws55 ~]# docker create -it --name r2 ubuntu:latest
49f7e82c0bd8c2048983e8aca81b10c04274639a8cb25eea9575b860be50036e

3、docker start/stop/restart容器启停

  使用docker start启动一个已经创建好的容器,docker stop停止一个正在运行的容器,docker restart重启一个正在运行的容器。

[root@yws55 ~]# docker stop utest
utest
[root@yws55 ~]# docker start utest
utest
[root@yws55 ~]# docker restart utest
utest

4、docker kill杀死一个容器进程

  一般情况下我们使用docker stop正常停止容器运行就好了,只有在无法正常停止容器的情况下使用docker kill杀死容器进程的方式停止指定容器。

在这里插入图片描述

[root@yws55 ~]# docker kill utest
utest

5、docker rm删除容器

  如果容器正在运行则通过docker rm无法删除,可以使用-f参数强制删除,相当于先执行docker kill停止容器然后删除。

[root@yws55 ~]# docker rm rtest
rtest

6、docker pause/unpause暂停或者恢复容器运行

  docker pause可以暂停容器运行,暂停后容器无法提供服务和连接;使用docker unpause恢复后可以连接。

在这里插入图片描述

[root@yws55 ~]# docker pause utest
utest
[root@yws55 ~]# docker exec -it utest /bin/bash
Error response from daemon: Container utest is paused, unpause the container before exec
[root@yws55 ~]# docker unpause utest
utest
[root@yws55 ~]# docker exec -it utest /bin/bash
root@c4b4e6b8e891:/#

7、docker exec容器中执行命令

  docker exec命令用于在容器中执行命令,常用docker exec -it container_name /bin/bash登录一个容器。也使用使用-d参数后台执行命令,常用于执行容器中的shell脚本。

三、docker镜像管理命令

1、docker images查看镜像

  docker images可以查看本地的镜像,后面可以跟镜像类型查看指定类型的镜像,比如docker images ubuntu查看Ubuntu镜像。

[root@yws55 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu nginx 5fb077dc7894 4 weeks ago 181MB
ubuntu latest 08d22c0ceb15 4 months ago 77.8MB

2、docker search搜索镜像

  使用docker search可以在线搜索可以下载的镜像。

在这里插入图片描述

3、docker pull拉取镜像

  使用docker pull拉取镜像,命令格式为docker pull name[:TAG],默认拉取最新版镜像。

[root@yws55 ~]# docker pull mysql:latest
latest: Pulling from library/mysql
…
5baa702110e4: Pull complete
Digest: sha256:232936eb036d444045da2b87a90d48241c60b68b376caf509051cb6cffea6fdc
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest
[root@yws55 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql latest 041315a16183 40 hours ago 565MB

4、docker build创建镜像

  使用docker build命令可以创建一个镜像,这种方式的镜像是基于基础镜像创建一个满足自己需求的个性化镜像,如下例子根据Ubuntu最新镜像创建一个安装了vim命令的镜像。

在这里插入图片描述

5、docker history查看镜像创建记录

  docker history命令可以查看镜像的创建记录,如build方式创建的镜像可以看到镜像的下载、命令安装、环境设置等步骤的创建记录。

在这里插入图片描述

6、docker save保存镜像为归档文件

  我们可以docker save方式将docker镜像保存为tar包文件,此方式主要用于镜像文件的离线安装。

[root@yws55 home]# docker save -o /home/ubuntu.vim.tar ubuntu:vim
[root@yws55 home]# ll -h |grep ubuntu
-rw------- 1 root root 184M Jul 6 16:37 ubuntu.vim.tar

7、docker load导入归档文件镜像

  使用docker load可以导入归档文件镜像到本地镜像列表中,常用于镜像文件的离线安装。

[root@yws55 home]# docker load -i /home/ubuntu.vim.tar
Loaded image: ubuntu:vim

8、docker import从归档文件创建镜像

  使用docker import命令根据归档文件创建镜像,可以在tar包文件基础上创建新镜像。

[root@yws55 home]# docker import -m “install net-tools” -c “CMD apt-get install -y net-tools” /home/ubuntu.vim.tar ubuntu:vim_v2
sha256:8c1256bf76846461c50f4371c05e4b745014446d37560f20d1497ce403cac2b0
[root@yws55 home]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu vim_v2 8c1256bf7684 21 seconds ago 192MB

9、docker rmi删除镜像

  使用docker rmi可以删除不需要的镜像文件。

[root@yws55 home]# docker rmi ubuntu:vim
Untagged: ubuntu:vim
Deleted: sha256:a4194cac0dd51f5864847f78af9b3c5678841cc24677ecfe8b84ac1393365609

四、其他命令

1、docker version查看版本

  docker version命令可以查看docker系统的版本,包括客户端和服务端版本信息。

[root@yws55 ~]# docker version
Client: Docker Engine - Community
Version: 23.0.1
…
Server: Docker Engine - Community
Engine:
Version: 23.0.1

2、docker info查看docker系统信息

  docker info命令可以查看docker系统的基本信息,包括宿主机的操作系统类型;CPU、内存等资源信息;容器和镜像数量等信息。

[root@yws55 ~]# docker info
Server:
Containers: 2
Running: 1
Paused: 0
Stopped: 1
Images: 2
…
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 7.638GiB

到此这篇关于docker生命周期管理和镜像管理命令的文章就介绍到这了,更多相关docker镜像管理命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Vulhub漏洞靶场搭建图文教程

    Vulhub漏洞靶场搭建图文教程

    这篇文章主要介绍了Vulhub漏洞靶场搭建图文教程,本文图文讲解全流程安装搭建过程,简单易懂,需要的朋友可以参考下
    2023-03-03
  • 如何修改 docker 容器的启动参数

    如何修改 docker 容器的启动参数

    工作中我们经常遇到docker容器运行一段时间后,因为各种原因需要调整启动参数的情况,这篇文章主要介绍了如何修改 docker 容器的启动参数,需要的朋友可以参考下
    2023-09-09
  • 使用Docker+Nginx部署vue项目详细图文教程

    使用Docker+Nginx部署vue项目详细图文教程

    这篇文章主要给大家介绍了关于使用Docker+Nginx部署vue项目的相关资料,文中通过图文介绍的非常详细,对大家学习或者工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • CentOS8上用Docker部署开源项目Tcloud的教程

    CentOS8上用Docker部署开源项目Tcloud的教程

    这篇文章主要介绍了CentOS8上用Docker部署开源项目Tcloud,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • Docker 环境运行 Mysql 和开启 Binlog 配置主从同步的设置方法

    Docker 环境运行 Mysql 和开启 Binlog 配置主从同步的设置方法

    今天给大家分享Docker 环境运行 Mysql 和开启 Binlog 配置主从同步的设置方法,利用docker模拟mysql设置的主从同步,通过两种方式给大家介绍的非常详细,需要的朋友参考下吧
    2021-06-06
  • Docker探索namespace详解

    Docker探索namespace详解

    以前对docker中的namespace了解甚少,今天在网上查阅相关文章,发现这篇还不错,介绍了namespace资源隔离以及进行namespace api操作的四种方式等内容,这里分享给大家,供参考。
    2017-10-10
  • Docker宿主机与容器之间的文件拷贝实例详解

    Docker宿主机与容器之间的文件拷贝实例详解

    现在公司用docker,有时候需要从容器中拷贝文件出来,下面这篇文章主要给大家介绍了关于Docker宿主机与容器之间的文件拷贝的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • docker-compose启动docker文件挂载失败的解决

    docker-compose启动docker文件挂载失败的解决

    这篇文章主要介绍了docker-compose启动docker文件挂载失败的解决方案。具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • 完美解决Windows10下无法对docker容器进行端口访问的操作

    完美解决Windows10下无法对docker容器进行端口访问的操作

    这篇文章主要介绍了完美解决Windows10下无法对docker容器进行端口访问的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Docker-compose搭建Redis集群(Sentinel)的实现

    Docker-compose搭建Redis集群(Sentinel)的实现

    本文主要介绍了Docker-compose搭建Redis集群(Sentinel)的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07

最新评论