Docker镜像下载及容器启动教程

 更新时间:2025年07月19日 16:44:39   作者:qq_322235565  
文章总结了Docker安装与使用流程,包括系统版本检测、安装命令、容器启动/停止/删除、进入容器的方法(如nsenter工具),以及运行容器时的注意事项,如容器生命周期与命名空间操作

Docker镜像和容器安装

  • 版本要求系统为64位、系统内核版本为 3.10 以上
  • 查看linux系统版本,使用 lsb_release -a ,若出现未知的命令,先使用yum安装 redhat-lsb
# yum 安装redhat-lsb
yum install -y redhat-lsb
# 查看centos版本 
lsb_release -a

  • 系统内核版本查看 uname -r

 

  • 查看是否已安装docker列表 我这个是已经安装了的截图  yum list installed | grep docker

  • 安装docker yum -y install docker , y表示不询问安装,直到安装成功,安装完后再次查看安装列表
  • 启动docker  systemctl start docker
  • 查看docker服务状态  systemctl status docker

说明: Docker安装成功

搜索centos镜像  docker search centos , 第一条是官方的,引用次数最多,stars

获取 centos 镜像 docker pull centos

查看镜像 docker images

Docker 常用命令

使用docker输出

‘hello world’  docker run centos /bin/echo 'hello world'

查看docker 所有的镜像,包括状态 docker ps -a

创建一个centos容器,命名为 mycentos,并进入其中,不退出  docker run --name mydocker -it centos /bin/bash

进入centos容器后,执行 ps aux , 可以看到当前只有两个进程

执行docker run  centos 做了什么事情那? 查看centos容器IP ip ad li

  • 首先检查 centos镜像是否存在,若不存在,则先在dockerHub 上pull下来。
  • 然后使用 centos镜像启动了一个容器。
  • 再分配一个文件系统,把这个文件置于这个容器的上一层,置于可写。
  • 同时分配了一个IP地址,使用ip命令查看  ip ad li

docker容器会运行一个你指定的应用程序,当这个应用程序退出时,docker容器也就退出了。所以说,每次docker容器启动,只能启动一个应用程序

退出docker容器,在看之前创建的docker容器。 mydcoker 容器已经退出了

启动一个已经退出的容器  docker start CONTAINER ID

停止一个容器  docker stop 容器ID

删除一个容器  docker rm 容器ID

进入容器  docker attach 容器ID,有一个问题,很大情况下是进不去的,ctrl + c 之后,再次查看容器状态发现容器已经退出了。

使用方式二进入容器, nsenter  访问另外一个容器的名称空间,通过PID进去。

nsenter 在 util-linux软件包内,如果没有这个命令,需要先用yum 安装一下,

 yum install -u util-linux 

获取这个容器的PID,

docker inspect --format "{{.State.Pid}}" 容器名称 

使用nsenter 命令进入 mynginx容器

nsenter --target 25760 --mount --uts --ipc --net --pid

进入镜像后,若发现ps 命令找不到,执行 apt-get update && apt-get install procps 安装 

官方Nginx 镜像的 nginx  在 /etc/nginx 目录下

nginx镜像的root 目录位置  /usr/share/nginx/html

VI命令安装

分开执行 apt-get update  & apt-get install vim有些慢,慢慢等待

进入容器脚本 nsenter

编写进入docker脚本,参数为 容器Name

脚本命名为 in.sh

#!/bin/bash
CNAME=$1
CPID=$(docker inspect --format "{{.State.Pid}}" $CNAME)
nsenter --target $CPID --mount --uts --ipc --net --pid

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • docker安装java环境的实现步骤

    docker安装java环境的实现步骤

    这篇文章主要介绍了docker安装java环境的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Docker使用过程中的一些注意事项

    Docker使用过程中的一些注意事项

    这篇文章主要为大家介绍了在使用Docker过程中的一些注意事项,就个人的一些经验分享给大家,有需要的朋友们可以参考借鉴,下面来一起看看吧。
    2016-10-10
  • Docker基础命令详解

    Docker基础命令详解

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上。本文给大家分享docker基础命令,感兴趣的朋友一起看看吧
    2016-10-10
  • Docker中配置容器启动优先级与依赖关系

    Docker中配置容器启动优先级与依赖关系

    Docker 中配置容器启动优先级与依赖关系主要通过 depends_on 和 healthcheck 实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2026-04-04
  • 解决docker日志挂载的问题

    解决docker日志挂载的问题

    这篇文章主要介绍了解决docker日志挂载的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • 一文带你了解Docker网络模型

    一文带你了解Docker网络模型

    Docker是一种容器化平台,它提供了一种轻量级的虚拟化解决方案,使得应用程序能够以容器的形式运行,Docker网络模型基于Linux内核的网络命名空间和虚拟以太网桥技术,本文就给大家详细介绍一下Docker 网络模型,需要的朋友可以参考下
    2023-07-07
  • docker容器调用yum报错的解决办法

    docker容器调用yum报错的解决办法

    在本篇文章里小编给大家分享的是关于docker容器调用yum报错的解决办法,有兴趣的朋友们可以参考下。
    2020-03-03
  • Docker复制现有容器的实现方法

    Docker复制现有容器的实现方法

    在使用Docker进行应用开发和部署时,我们经常需要基于现有的容器创建相似的环境,本文主要介绍了Docker复制现有容器的实现方法,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • Docker部署Graylog日志管理系统

    Docker部署Graylog日志管理系统

    Graylog是一个开源的日志管理平台,支持强大的搜索功能,本文主要介绍了Docker部署Graylog日志管理系统,具有一定的参考价值,感兴趣的可以了解一下
    2025-03-03
  • Docker打包及部署项目完整步骤

    Docker打包及部署项目完整步骤

    这篇文章主要给大家介绍了关于Docker打包及部署项目的相关资料,Docker是一种容器化技术,可以将应用程序及其依赖项打包成一个容器,方便在不同的环境中部署和运行,需要的朋友可以参考下
    2023-08-08

最新评论