Docker容器中沒有vi/ps等命令問題
docker容器中沒有vi/ps等命令問題
背景及原因
Docker中安裝容器后,進入容器內,想要執(zhí)行一些命令,卻發(fā)現根本沒有這個命令。
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狀態(tài):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
或者直接執(zhí)行:
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:鏡像的創(chuàng)建日期(不是獲取該鏡像的日期)
- SIZE:鏡像大小
這些鏡像都是存儲在Docker宿主機的/var/lib/docker目錄下
搜索鏡像
如果你需要從網絡中查找需要的鏡像,可以通過以下命令搜索
docker search 鏡像名稱
- NAME:倉庫名稱
- DESCRIPTION:鏡像描述
- STARS:用戶評價,反應一個鏡像的受歡迎程度
- OFFICIAL:是否官方
- AUTOMATED:自動構建,表示該鏡像由Docker Hub自動構建流程創(chuàng)建的63.4拉取鏡像
端口映射:
目錄映射:
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
docker 使用mysqldump命令備份導出項目中的mysql數據
這篇文章主要介紹了docker 使用mysqldump命令備份導出項目中的mysql數據本文通過命令給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-12-12Docker安裝Nginx并修改Nginx配置文件的方法詳解
這篇文章主要給大家介紹了關于Docker安裝Nginx并修改Nginx配置文件的相關資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2023-02-02Ollma本地部署Qwen2.5 14B的詳細過程(不使用docker)
本文介紹了如何在不使用Docker的情況下部署Ollama模型和Open-webui實現可視化界面,Ollama模型通過命令行操作,包括啟動、創(chuàng)建、運行等,Open-webui則需要安裝Anaconda環(huán)境,安裝并啟動服務后,通過瀏覽器訪問即可使用,感興趣的朋友跟隨小編一起看看吧2024-11-11