1. 程式人生 > >Docker 使用階段性記錄(常用指令)

Docker 使用階段性記錄(常用指令)

        docker 從最開始的只知道有“docker”這麼個東西,到現在用起來大概有一個來月的時間了,就簡單記錄下為什麼要用 docker , 還有 docker 的一些常用命令, 還有使用 docker 過程中遇到的一些問題。

        最開始想到要使用 docker 是因為公司的系統部署了幾套不同的環境,每套環境都需要安裝 nginx , redis , mysql , mq 等一些軟體。在這麼做了一段時間後就發現工作效率是很底下的,並且是重複的勞動,在這個過程中出錯的概率也很高。當然大家幹活的時候都是想讓自己輕鬆,愉快一些。如果總是做這樣低效,重複性的工作無疑是一種災難。這個時候就想到用 docker 來解決這個問題。docker 是一種虛擬化技術,一種容器技術。 docker 從 2013 , 2014 左右釋出。 我們公司現在才開始使用起來 ... 不得不說這個和國際先進水平比較的話確實落後很多了。

記錄一些 docker 使用過程中常用的指令

1. 從遠端映象(image)倉庫拉取(pull)映象指令:

docker pull hub.tencentyun.com/hepengdockerhub2019/hepeng-centos:latest

hub.tencentyun.com : 是我指定的映象倉庫的地址

hepengdockerhub2019: 是我的賬戶名稱,可以理解為一個名稱空間

hepeng-centos : 是我要拉取的映象名稱

latest:是我要拉取的映象的標籤 (Tag)

 

推送映象到遠端映象倉庫: docker push hub.tencentyun.com/hepengdockerhub2019/hepeng-centos:latest

將容器打包成映象:  docker commit -m "映象的一些描述資訊" -a "作者" [容器ID] [新的映象的名稱]

 

2. 執行相關指令:

基本模式使用方式: docker run [映象名稱] 或者 [映象ID]

在後臺執行: docker run -d  [映象名稱] 或者 [映象ID] 

和宿主機進行埠對映: docker run -p 宿主機埠:容器埠 -p 宿主機埠:容器埠 。例如 : docker run -p 80:80 6379:6379 [映象名稱] 或者 [映象ID] 

和宿主機進行資料夾對映: docker run -v 宿主機資料夾路徑:容器資料夾路徑 , 例如 : docker run -v /usr/local/test/:/usr/local/test [映象名稱] 或者 [映象ID] 

指定容器執行的網路模式: docker run --net=host (指定容器的網路模式為 host ) ,docker 的網路模式有: host , bridge , none ,  container 。docker 網路模式參考部落格 

執行後進入控制檯模式: docker -it  [映象名稱] 或者 [映象ID] bin/bash  , 

-i, --interactive=false
-i, --interactive=false   Keep STDIN open even if not attached

保持標準輸入,常同-t一起使用來申請一個控制檯進行資料互動。

進入已經執行容器的控制檯: docker exec -it  容器ID bin/bash

啟動停止執行的容器 : docker start 容器ID