Docker容器中沒有vi/ps等命令問題
docker容器中沒有vi/ps等命令問題
背景及原因
Docker中安裝容器后,進入容器內(nèi),想要執(zhí)行一些命令,卻發(fā)現(xiàn)根本沒有這個命令。
Docker容器都是最小化的Linux,所以有很多命令沒有。
解決
# 進入容器內(nèi) docker exec -it container_name bash # 安裝vi編輯器 apt-get install vim # 解決vi編輯器鼠標(biāo)右鍵無法粘貼的問題 vi ~/.vimrc # 輸入以下內(nèi)容,保存后即可 if has('mouse') set mouse-=a endif # 更換國內(nèi)源(要不然下載太慢了) # 備份 mv /etc/apt/sources.list /etc/apt/source.list.bak # 編輯 vi /etc/apt/sources.list # 添加以下內(nèi)容 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服務(wù)操作
- 啟動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 鏡像名:搜索遠(yuǎn)程鏡像
- docker rmi 鏡像名:版本/imageId :刪除指定鏡像
- docker rmi ‘docker images -q’ :刪除所有鏡像
- docker pull 鏡像名:版本 :拉取鏡像
- docker push 鏡像:版本 :推送鏡像到遠(yuǎn)程
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鏡像加速器
配置加速器,否則下載鏡像的時候回比較慢,默認(rèn)是從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:鏡像標(biāo)簽
- IMAGE ID:鏡像ID
- CREATED:鏡像的創(chuàng)建日期(不是獲取該鏡像的日期)
- SIZE:鏡像大小
這些鏡像都是存儲在Docker宿主機的/var/lib/docker目錄下
搜索鏡像
如果你需要從網(wǎng)絡(luò)中查找需要的鏡像,可以通過以下命令搜索
docker search 鏡像名稱
- NAME:倉庫名稱
- DESCRIPTION:鏡像描述
- STARS:用戶評價,反應(yīng)一個鏡像的受歡迎程度
- OFFICIAL:是否官方
- AUTOMATED:自動構(gòu)建,表示該鏡像由Docker Hub自動構(gòu)建流程創(chuàng)建的63.4拉取鏡像
端口映射:
目錄映射:
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Docker?link實現(xiàn)容器互聯(lián)的方式
通過link方式創(chuàng)建容器,然后我們可以使用被link容器的別名進行訪問。本文重點給大家介紹Docker?link實現(xiàn)容器互聯(lián)的方式,感興趣的朋友一起看看吧2021-12-12清理docker磁盤空間的方法總結(jié)(附詳細(xì)講解)
docker?鏡像特別容易占空間,稍微不注意可能磁盤爆滿,所以本文給大家詳細(xì)介紹了如何清理?docker?磁盤空間,并通過代碼示例給大家講解的非常詳細(xì),需要的朋友可以參考下2024-02-02docker 使用mysqldump命令備份導(dǎo)出項目中的mysql數(shù)據(jù)
這篇文章主要介紹了docker 使用mysqldump命令備份導(dǎo)出項目中的mysql數(shù)據(jù)本文通過命令給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-12-12Docker安裝Nginx并修改Nginx配置文件的方法詳解
這篇文章主要給大家介紹了關(guān)于Docker安裝Nginx并修改Nginx配置文件的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2023-02-02Ollma本地部署Qwen2.5 14B的詳細(xì)過程(不使用docker)
本文介紹了如何在不使用Docker的情況下部署Ollama模型和Open-webui實現(xiàn)可視化界面,Ollama模型通過命令行操作,包括啟動、創(chuàng)建、運行等,Open-webui則需要安裝Anaconda環(huán)境,安裝并啟動服務(wù)后,通過瀏覽器訪問即可使用,感興趣的朋友跟隨小編一起看看吧2024-11-11如何解決IDEA無法連接docker中的數(shù)據(jù)庫的問題
這篇文章主要介紹了如何解決IDEA無法連接docker中的數(shù)據(jù)庫的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06詳解使用 Docker 構(gòu)建 LNMP 環(huán)境
本篇文章主要介紹了使用 Docker 構(gòu)建 LNMP 環(huán)境,詳細(xì)的介紹了配置LNMP 環(huán)境的步驟。具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-03-03Docker Stack部署Java Web項目的實現(xiàn)
本文主要介紹了Docker Stack部署Java Web項目的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06