docker命令簡單使用
dock er 常用命令
安裝Docker
1、下載Docker的依賴環境
yum -y install yum-utils device-mapper-persistent-data lvm2
2、設定下載Docker的映象源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3、安裝Docker
yum makacache fast
yum -y install docker-ce
4、啟動Docker,並設定為開機自啟動
#啟動命令:
systemctl start docker
#重啟命令:
systemctl restart docker
#設定為開機自啟動
systemctl enable docker
5、解除安裝Docker
yum remove docker-ce
rm -rf /var/lib/docker
Docker映象的中央倉庫
1、官方中央倉庫地址。缺點是國外網站,開啟比較慢。
https://hub.docker.com/
2、國內中央倉庫地址。比較推薦使用,因為開啟速度真的很快。
http://hub.daocloud.io/
而且,這種倉庫還有使用說明書,簡直太方便了。
Docker容器完整使用教程
操作Docker映象的常用命令
1、從中央倉庫拉取映象
docker pull 映象名稱[:tag]
#比如:拉取tomcat映象,這個映象名稱去"http://hub.daocloud.io/"中搜尋
docker pull daocloud.io/library/tomcat:8.5.15-jre8
2、檢視本地已經存在的映象列表
docker images
3、刪除本地映象
docker rmi 映象id
4、映象檔案的匯入、匯出
#將本地映象檔案匯出
docker save -o 匯出的路徑 映象id
#比如,匯出到當前目錄下,映象起名叫tomcat-image
docker save -o ./tomcat-image fe3999eb9
#匯入映象檔案
docker load -i 映象檔案
#比如
docker load -i tomcat-image
5、修改映象名稱
docker tag 映象id 新的映象名稱:版本
操作Docker容器的常用命令
1、建立並執行容器
#在執行該命令之前,如果沒有執行拉取映象的操作,該命令會自動根據映象名稱從中央倉庫下載映象
#–name,指定新建容器的名稱
#-d,代表後臺執行容器
#-p,對映當前linux的埠和容器的埠
docker run --name 容器名稱 -d -p 宿主機埠:容器埠 映象id
2、檢視正在執行的容器
#檢視所有容器
docker ps -a
3、檢視容器的日誌
#-f,可以滾動檢視日誌的最後幾行
docker logs -f 容器id
4、進入容器內部
docker exec -it 容器id bash
5、停止容器
#停止指定的容器
docker stop 容器id
#停止所有容器,命令docker ps -qa就是檢視所有容器的id
docker stop $(docker ps -qa)
6、刪除容器
#刪除容器前,需要先停止正在執行的容器
#刪除指定的容器
docker rm 容器id
#刪除所有容器,命令docker ps -qa就是檢視所有容器的id
docker rm $(docker ps -qa)
7、啟動容器
#停止容器後,可以使用該命令重新啟動容器
docker start 容器id
資料卷
如果直接修改容器內部的目錄檔案,並不方便,此時引入了資料卷的功能。
資料卷的作用:將宿主機的目錄對映到容器內部的目錄。此時它倆如同一個目錄,在宿主機中修改目錄下的內容,容器內部的目錄下內容就會跟著一起改變。
1、建立資料卷,此時建立的資料卷還沒對映到容器內部的目錄
docker volume create 資料卷的名稱
建立的資料卷,預設存放在宿主機的/var/lib/docker/volumes/目錄下。
2、檢視資料卷的詳細資訊
docker volume inspect 資料卷的名稱
3、檢視當前宿主機下的所有資料卷
docker volume ls
4、刪除資料卷
docker volume rm 資料卷的名稱
5、建立並執行容器,同時建立資料卷並與容器內部的目錄相對映
docker run --name 容器名稱 -d -p 宿主機埠:容器埠 -v 資料卷的名稱:容器內部被對映的目錄 映象id
#比如
docker run --name tomcat -d -p 8080:8080 -v volume_tomcat:/usr/local/data 映象id
#也可以給宿主機的資料卷指定具體的目錄,實際工作中也推薦使用這種方式
docker run --name tomcat -d -p 8080:8080 -v /usr/local/volume_tomcat:/usr/local/data 映象id
自定義映象
通過自定義映象,並且上傳到中央倉庫,下次就可以從中央倉庫拉取該自定義的映象使用。
Dockerfile是一個文字檔案,包含了一條條的指令,每一條指令構建一層,基於基礎映象,最終構建出一個新的映象。
Docker容器完整使用教程
Dockerfile檔案內容編寫可以參考中央倉庫中映象的案例。比如以tomcat為例:
https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/8.5/jdk8/corretto/Dockerfile
Docker容器完整使用教程
建立好Dockerfile檔案後,接下來必須先執行構建映象命令,才能使用自定義的映象。
構建映象
#最後的小黑點必須有,另外該命令需在Dockerfile所在的目錄執行
docker build -t 映象名稱 .
Dokcerfile帶來的好處:
對於開發人員:可以為開發團隊提供一個完全一致的開發環境。
對於測試人員:可以直接拿開發時所構建的映象或者通過dockerfile檔案構建一個新的映象開始工作。
對於運維人員:在部署時,可以實現應用的無縫移植。
服務編排Docker-Compose
之前執行一個映象,需要新增大量的引數,但是現在可以通過Docker-Compose編寫這些引數。
Dockers-Compose可以幫助我們批量的管理容器。使用的方式就是通過docker-compose.yml檔案。
使用Docker-Compose,首先需要下載它。
1、去GitHub官網搜尋,下載1.24.1版本
https://github.com/docker/compose/releases/tag/1.24.1
Docker容器完整使用教程
2、將下載好的檔案新增到Linux伺服器上
Docker容器完整使用教程
Docker容器完整使用教程
3、給上傳好的檔案新增可執行許可權
如果不新增執行許可權,會導致如下許可權不夠的問題。
Docker容器完整使用教程
#檔案重新命名
mv docker-compose-Linux-x86_64.txt docker-compose
#給檔案新增可執行許可權,Linux伺服器上檔案的許可權設定,請參考。
chmod +x docker-compose
如果你對Linux伺服器上檔案的許可權設定還了解的不徹底,請參考Linux目錄下檔案的許可權設定。
4、為docker-compose設定環境變數
為什麼要設定環境變數呢?看下在設定環境變數前和設定環境變數後的對比,就知道了。
Docker容器完整使用教程
只有配置了環境變數,才能在當前伺服器的任何目錄下執行Docker-compose的命令。
設定環境變數的步驟:
將/usr/local/目錄下的docker-compose檔案移動到/usr/local/bin/目錄下
cp docker-compose ./bin/
修改/etc/profile,新增如下內容
/usr/local/bin/:
Docker容器完整使用教程
儲存修改,執行命令source /etc/profile,讓修改立即生效。
5、檢視Docker-Compose的安裝版本
docker-compose -version
Docker-Compose的應用:管理MySQL和Tomcat容器
1、編寫docker-compose.yml檔案
version: ‘3.1’
services:
mysql: #服務的名稱
restart: always #代表只要docker啟動,那麼這個容器也會跟著一起啟動
image: daocloud.io/library/mysql:5.7.4 #映象的路徑
container_name: mysql #指定容器的名稱
ports: #指定埠號的對映,可以配置多個對映
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: root #指定MySQL的ROOT使用者的登入密碼
TimeZone: Asia/Shanghai #指定時區
volumes: #指定資料卷對映,可以配置多個資料卷對映
- /usr/local/volumes/mysql_volume:/var/lib/mysql
tomcat:
restart: always
image: daocloud.io/library/tomcat:8.0.43-jre8
container_name: tomcat
ports:
- 8080:8080
environment:
TimeZone: Asia/Shanghai
volumes:
- /usr/local/volumes/tomcat_volume/webapps:/usr/local/tomcat/webapps
- /usr/local/volumes/tomcat_volume/logs:/usr/local/tomcat/logs
2、基於docker-compose.yml檔案啟動管理的容器
將docker-compose.yml檔案扔到Linux伺服器上。
執行如下命令,預設會找當前目錄下的docker-compose.yml檔案。
#啟動管理的容器
docker-compose up -d
#停止並刪除管理的容器
docker-compose down
#開啟已經存在的由docker-compose管理的容器
docker-compose start
#關閉已經存在的由docker-compose管理的容器
docker-compose stop開啟已經存在的由docker-compose管理的容器停止並刪除管理的容器
docker-compose restart
docker-compose配合Dockerfile使用
它倆結合使用可以在生成自定義映象的同時,啟動當前的映象,並且由docker-compose去管理容器。
1、編寫Dockerfile檔案
from daocloud.io/library/tomcat:8.0.43-jre8
copy myapp.war /usr/local/tomcat/webapps
2、編寫docker-compose.yml檔案
version: ‘3.1’
services:
myapp: #服務的名稱
restart: always #代表只要docker啟動,那麼這個容器也會跟著一起啟動
build: #構建自定義的映象
context: /usr/local/docker-data/ #指定Dockerfile檔案的所在路徑
dockerfile: Dockerfile #指定Dockerfile的檔名稱
image: myapp:1.0 #上面構建好的映象
container_name: myapp #指定容器的名稱
ports: #指定埠號的對映,可以配置多個對映
- 8081:8080
environment:
TimeZone: Asia/Shanghai #指定時區
Dockerfile和docker-compose.yml檔案建立好以後,執行如下命令,啟動基於docker-compose.yml以及Dockerfile檔案構建的自定義映象。
docker-compose up -d
執行上面的命令之後,如果想再次構建自定義映象,可以執行命令:
docker-compose build
相關文章
- docker簡單命令Docker
- Docker簡單使用、常用基礎命令Docker
- docker的簡單使用Docker
- Docker簡單使用MySQLDockerMySql
- vi命令簡單使用
- tcpdump命令簡單使用TCP
- Docker安裝和簡單使用Docker
- 簡單使用rpm命令
- git stash 命令簡單使用Git
- 一些重要 Docker 命令的簡單介紹Docker
- sed命令簡單使用示例分享
- 使用docker安裝gitlab以及gitlab簡單使用DockerGitlab
- docker簡單筆記Docker筆記
- linux中的top命令簡單使用Linux
- Linux中ps命令的簡單使用Linux
- linux中history命令的簡單使用Linux
- 在dos下使用簡單的ftp命令FTP
- git簡單命令Git
- zookeeper簡單命令
- Docker常見命令---簡易教程Docker
- 如何使用簡單的終端命令更新macOSMac
- docker簡單實用教程Docker
- Linux簡單命令Linux
- 簡單實用命令
- shell簡單命令大全。
- 記錄 golang 命令列庫 cobra 的簡單使用Golang命令列
- du命令 and touch命令簡單實用
- 使用 Docker 和 Nginx 實現簡單目錄索引服務DockerNginx索引
- kali簡單安裝docker和docker-composeDocker
- Linux簡單命令(一)Linux
- 簡單介紹 ldd 命令
- Git常用的簡單命令Git
- vi命令簡單實用
- docker常用命令的使用Docker
- Docker exec 命令的詳細使用Docker
- CentOS 7 Docker 防火牆簡單配置CentOSDocker防火牆
- RabbitMQ 安裝及簡單使用(基於 docker|白小純版)MQDocker
- Jenkins(Docker容器內)使用宿主機的docker命令JenkinsDocker