Docker容器中没有vi/ps等命令问题

 更新时间:2023年12月13日 09:43:43   作者:94甘蓝  
这篇文章主要介绍了Docker容器中没有vi/ps等命令问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

docker容器中没有vi/ps等命令问题

背景及原因

Docker中安装容器后,进入容器内,想要执行一些命令,却发现根本没有这个命令。

Docker容器都是最小化的Linux,所以有很多命令没有。

解决

# 进入容器内
docker exec -it container_name bash
 
# 安装vi编辑器
apt-get install vim
# 解决vi编辑器鼠标右键无法粘贴的问题
vi ~/.vimrc
# 输入以下内容,保存后即可
if has('mouse')
        set mouse-=a
endif
 
# 更换国内源(要不然下载太慢了)
# 备份
mv /etc/apt/sources.list /etc/apt/source.list.bak
# 编辑
vi /etc/apt/sources.list
# 添加以下内容
deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse 
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse 
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse 
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse 
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
# 保存后更新
apt-get update
 
# 安装ps命令
apt-get install procps

docker运行命令

docker安装

安装工具

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

.添加docker的yum库

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum makecache fast

安装Docker

sudo yum install docker-ce docker-ce-cli containerd.io

启动&开机启动

sudo systemctl start docker
systemctl enable docker

测试Docker

docker run hello-world

docker version

docker服务操作

  • 启动docker:systemctl start docker
  • 停止docker:systemctl stop docker
  • 重启docker:systemctl restart docker
  • 查看docker状态:systemctl status docker
  • 开机启动:systemctl enable docker
  • 查看docker概要信息:docker info
  • 查看docker帮助文档:docker --help

docker镜像操作

  • docker images :查看本地镜像
  • docker search 镜像名:搜索远程镜像
  • docker rmi 镜像名:版本/imageId :删除指定镜像
  • docker rmi ‘docker images -q’ :删除所有镜像
  • docker pull 镜像名:版本 :拉取镜像
  • docker push 镜像:版本 :推送镜像到远程

docker容器操作

运行交互式容器:

docker run -it --name=容器名 -p=linux端口:容器端口 -v=/linux目录:/容器目录 镜像名:版本 /bin/bash

运行守护式容器:

docker run -id --name=容器名 -p=linux端口:容器端口 -v=/linux目录:/容器目录 镜像名:版本
  • 查看容器:docker ps -a
  • 查看容器ID: docker ps -a -q
  • 删除容器:docker rm 容器名
  • 删除所有容器:docker rm docker ps -a -q
  • 停止一个容器:docker kill 容器名
  • 停止所有容器: docker kill docker ps -a -q
  • 启动容器:docker start 容器名
  • 重启容器:docker restart 容器名
  • 进入容器:docker exec -it 容器名 /bin/bash , 退出容器 exit 或者ctrl + p + q (交互式容器建议使用)
  • 拷贝文件到容器:docker cp /linux文件 容器:/容器目录
  • 从容器拷贝文件到linux: docker cp 容器:/文件 /linux目录
  • 查看IP: docker inspect 容器名
  • 查看日志:docker logs 容器名.

扩展 

Docker镜像加速器

配置加速器,否则下载镜像的时候回比较慢,默认是从docker hub下载

vi /etc/docker/daemon.json
{
“registry-mirrors”: [“https://5pfmrxk8.mirror.aliyuncs.com”]
}
sudo systemctl daemon-reload //重新加载配置
sudo systemctl restart docker //重启docker

或者直接执行:

sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-‘EOF' { “registry-mirrors”: [“https://5pfmrxk8.mirror.aliyuncs.com”] } EOF sudo systemctl daemon-reload sudo systemctl restart docker

列出docker下的所有镜像:docker images

  • REPOSITORY:镜像所在的仓库名称
  • TAG:镜像标签
  • IMAGE ID:镜像ID
  • CREATED:镜像的创建日期(不是获取该镜像的日期)
  • SIZE:镜像大小

这些镜像都是存储在Docker宿主机的/var/lib/docker目录下

搜索镜像

如果你需要从网络中查找需要的镜像,可以通过以下命令搜索

docker search 镜像名称

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

端口映射:

目录映射:

总结

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

相关文章

  • Docker link实现容器互联的方式

    Docker link实现容器互联的方式

    通过link方式创建容器,然后我们可以使用被link容器的别名进行访问。本文重点给大家介绍Docker link实现容器互联的方式,感兴趣的朋友一起看看吧
    2021-12-12
  • 清理docker磁盘空间的方法总结(附详细讲解)

    清理docker磁盘空间的方法总结(附详细讲解)

    docker 镜像特别容易占空间,稍微不注意可能磁盘爆满,所以本文给大家详细介绍了如何清理 docker 磁盘空间,并通过代码示例给大家讲解的非常详细,需要的朋友可以参考下
    2024-02-02
  • docker 使用mysqldump命令备份导出项目中的mysql数据

    docker 使用mysqldump命令备份导出项目中的mysql数据

    这篇文章主要介绍了docker 使用mysqldump命令备份导出项目中的mysql数据本文通过命令给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • 删除Docker镜像、容器和卷的教程指南

    删除Docker镜像、容器和卷的教程指南

    Docker 可以轻松地将应用程序和服务封装在容器中,以便在任何地方运行,然而,在使用 Docker 的过程中,很容易积累大量未使用的镜像、容器和数据卷,这些会使输出杂乱,并占用磁盘空间,所以本文给大家介绍了如何删除Docker镜像、容器和卷,需要的朋友可以参考下
    2024-10-10
  • Docker安装Nginx并修改Nginx配置文件的方法详解

    Docker安装Nginx并修改Nginx配置文件的方法详解

    这篇文章主要给大家介绍了关于Docker安装Nginx并修改Nginx配置文件的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2023-02-02
  • Ollma本地部署Qwen2.5 14B的详细过程(不使用docker)

    Ollma本地部署Qwen2.5 14B的详细过程(不使用docker)

    本文介绍了如何在不使用Docker的情况下部署Ollama模型和Open-webui实现可视化界面,Ollama模型通过命令行操作,包括启动、创建、运行等,Open-webui则需要安装Anaconda环境,安装并启动服务后,通过浏览器访问即可使用,感兴趣的朋友跟随小编一起看看吧
    2024-11-11
  • Docker run流程及镜像的基本命令详解

    Docker run流程及镜像的基本命令详解

    本文主要介绍了Docker中run流程及镜像的基本命令,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • 如何解决IDEA无法连接docker中的数据库的问题

    如何解决IDEA无法连接docker中的数据库的问题

    这篇文章主要介绍了如何解决IDEA无法连接docker中的数据库的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • 详解使用 Docker 构建 LNMP 环境

    详解使用 Docker 构建 LNMP 环境

    本篇文章主要介绍了使用 Docker 构建 LNMP 环境,详细的介绍了配置LNMP 环境的步骤。具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-03-03
  • Docker Stack部署Java Web项目的实现

    Docker Stack部署Java Web项目的实现

    本文主要介绍了Docker Stack部署Java Web项目的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06

最新评论