您好,登錄后才能下訂單哦!
本篇內容介紹了“Docker安裝及基本命令介紹”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
###安裝/啟動Docker
####在CentOS 7上安裝
Docker默認已經包含在CentOS-Extra倉庫中,使用以下命令安裝
sudo yum install docker
####在CentOS 6.5上安裝
對于CentOS 6.5,Docker是 EPEL 倉庫的一部分,因此需要確保已經加入EPEL的YUM源。在CentOS 6上,Docker的包名可能與桌面的docker應用沖突,因此,它的包名改為了docker-io
。
sudo yum -y remove docker sudo yum install docker-io
####啟動Docker
安裝Docker之后,需要啟動Docker守護進程
sudo service docker start
為了讓docker能夠開機運行,需要使用chkconfig:
sudo chkconfig docker on
獲取Docker鏡像,啟動Docker容器
sudo docker pull centos sudo docker images centos sudo docker run -i -t centos /bin/bash
###基本命令
下列命令創建一個容器簡單的輸出Hello world:
$ docker run ubuntu:14.04 /bin/echo 'Hello, world' Hello, world
這里docker run
命令指定了使用的鏡像為ubuntu:14.04
,我們的容器就是從該鏡像運行。當指定一個鏡像的時候,Docker首先會在你的宿主機上查找是否存在該鏡像,如果不存在的話會從Docker Hub下載。
接下來指定了要在容器中運行的命令是/bin/echo 'Hello, world'
,當容器啟動之后,Docker會創建一個新的ubuntu 14.04的環境,然后在里面執行這個命令。當命令執行完畢之后,Docker創建的這個容器的生命周期就結束了。
下面我們創建一個交互式的容器:
$ docker run -t -i ubuntu:14.04 /bin/bash root@af8bae53bdd3:/#
這次同樣啟動了ubuntu 14.04的鏡像,但是這里指定了兩個額外的參數-t
和-i
。參數-t
為剛才創建的容器分配一個偽終端(pseudo-tty),-i
則允許我們通過獲取容器的標準輸入創建一個交互式的連接。
要退出該容器,在終端輸入exit
或者ctrl+D
即可,這樣該容器就可以停止了
root@2e3e7e77adbd:/# exit exit
幾個常用的docker命令:
docker ps
列出Container
docker logs
顯示容器的標準輸出
docker stop
停止運行中的容器
docker version
顯示當前docker客戶端和守護進程的版本信息
docker
命令的子命令很多,
attach 附加到一個運行中的容器上去 build 從Dockerfile構建鏡像 commit 從容器當前的修改創建一個新的鏡像 cp 從容器的文件系統復制文件/文件夾到主機路徑 create 創建一個新的容器 diff 檢查容器文件系統發生的修改 events 從服務器獲取實時的事件 exec 在已存在的容器中運行命令 export 將容器中的內容以流的方式導出為tar歸檔 history 顯示鏡像的歷史 images 列出所有鏡像 import 從tar包中的內容創建一個新的文件系統鏡像 info 顯示系統的信息 inspect 返回容器低級的信息 kill 殺掉一個運行中的容器 load 從tar歸檔載入鏡像 login 注冊或者登錄到Docker注冊服務器 logout 從Docker注冊服務器登出 logs 檢索容器中的日志 port 查詢基于NAT到PRIVATE_PORT的公開端口 pause 暫停容器中所有的進程 ps 列出容器 pull 從Docker注冊服務器拉取一個鏡像或者倉庫 push 推送一個鏡像或者倉庫到Docker注冊服務器 restart 重啟一個運行中的容器 rm 刪除一個/多個容器 rmi 刪除一個/多個鏡像 run 在新的容器中運行命令 save 保存鏡像到tar歸檔 search 從Docker Hub搜索一個鏡像 start 啟動一個已經停止的容器 stop 停止運行中的容器 tag 為倉庫中的鏡像添加標簽 top 查詢容器中運行的進程 unpause 取消容器的暫停狀態 version 顯示Docker的版本信息 wait 堵塞住直到容器停止,然后打印它的退出碼
使用Dockerfile構建鏡像:
docker build -t <your username>/<image name> .
運行鏡像:
docker run -p <本地端口>:<容器端口> -d <鏡像名稱> curl -i <本地IP>:<本地端口>
查看容器的日志(類似于tail -f
命令)
docker logs -f <容器名稱>
####例子:使用官方Nginx Docker鏡像
使用之前,需要先獲取官方nginx鏡像
docker pull nginx
執行命令如下
docker run --name nginx_server -d -p 8080:80 -v /Users/mylxsw/codes/php:/usr/share/nginx/html:ro nginx
下面對提供的參數進行一一解釋:
--name
指定了我們創建的容器名稱為nginx_server
-d
指定了容器在后臺運行
-p
則指定了將容器的80
端口映射到宿主機的8080
端口
-v
參數指定了將本地的/Users/mylxsw/codes/php
目錄映射到容器的/usr/share/nginx/html
目錄,并且訪問權限為只讀
啟動該容器之后,就可以通過http://localhost:8080
訪問了。
更復雜一點,可以通過使用-v
參數指定nginx配置文件-v /some/nginx.conf:/etc/nginx/nginx.conf:ro
。
在指定新的nginx配置文件時,注意一定要設置nginx的
daemon off;
配置項,如果以后臺模式運行的話,容器就沒法跟蹤nginx的進程,容器啟動后就會立即結束。
如果僅僅是測試的話,可以使用--rm
選項,這樣,在容器結束運行之后就可以自動刪除,當然使用--rm
選項的時候不能和-d
選項同時使用。
docker run --rm --name nginx_server -d -p 8080:80 -v /Users/mylxsw/codes/php:/usr/share/nginx/html:ro nginx
“Docker安裝及基本命令介紹”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。