Docker容器中没有vi/ps等命令问题
作者: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拉取镜像
端口映射:
目录映射:
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。