1.centos7中安裝docker
安裝依賴軟件:
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
設置倉庫:
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
安裝最新版的docker:
$ sudo yum install -y docker-ce docker-ce-cli containerd.io
2.常用命令
操作 | 命令 |
---|---|
啓動docker | systemctl start docker |
查看docker版本 | docker version |
重啓docker | systemctl restart docker |
停止docker | systemctl stop docker |
查看docker狀態 | systemctl status docker |
開機啓動docker | systemctl enable docker |
3.鏡像、容器操作
操作 | 命令 |
---|---|
列出docker下的所有鏡像 | docker images |
搜索鏡像 | docker search 鏡像名稱 |
拉取鏡像 | docker pull 鏡像名稱 |
刪除指定鏡像 | docker rmi 鏡像ID/名稱 |
查看正在運行容器 | docker ps |
查看所有的容器(啓動過的歷史容器) | docker ps –a |
查看最後一次運行的容器 | docker ps –l |
查看停止的容器 | docker ps -f status=exited |
停止正在運行的容器 | docker stop 容器ID/名稱 |
啓動已運行過的容器 | docker start 容器ID/名稱 |
創建交互式容器 | docker run -it --name=容器名稱 鏡像:鏡像版本 /bin/bash |
創建守護式容器 | docker run -di --name=容器名稱 鏡像:鏡像版本 |
進入容器 | docker exec -it 容器名稱/ID /bin/bash |
刪除容器 | docker rm 容器名稱/容器ID |
刪除所有容器 | docker ps -a -q | xargs docker rm |
獲取容器的元數據 | docker inspect 容器名/ID |
獲取容器的IP | docker inspect --format=’{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}’ 容器名/ID |
4.文件拷貝和目錄掛載
操作 | 格式 |
---|---|
將宿主機文件/目錄拷貝到容器內 | docker cp 需要拷貝的文件或目錄 容器名稱:容器目錄 |
將容器內部文件/目錄複製到宿主機 | docker cp 容器名稱:容器目錄 需要拷貝的文件或目錄 |
目錄掛載: 我們可以在創建容器的時候,將宿主機的目錄與容器內的目錄進行映射,這樣我們就可以通過修改宿主機某個目錄的文件從而去影響容器。
創建容器 添加-v參數 後邊爲 宿主機目錄:容器目錄
如: docker run -di –name=新的容器名 -v 宿主機目錄:容器目錄 鏡像名稱:tag
5.docker鏡像的導出/導入
操作 | 格式 |
---|---|
將nginx:latest 鏡像導出成nginx.tar文件 | docker save > nginx.tar nginx:latest |
將nginx.tar鏡像文件導入到docker中 | docker load < nginx.tar |
將容器保存爲新的鏡像 | docker commit 容器名/ID 鏡像名:tag |
6.容器互聯
使用 --link 參數可以讓容器之間安全地進行交互。
下面先創建一個新的mysql數據庫容器:
docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=passwd mysql:5.7
然後創建一個web容器,並將它連接到mysql容器:
$ docker run -d -P --name web --link mysql:mysql tomcat:latest
此時,mysql容器和web容器建立互聯關係。
–link參數的格式爲 --link name: alias, 其中name是要鏈接的容器的名稱,alias是別名。
注意:容器互聯時,tomcat中配置連接mysql數據庫的地址也需要修改成mysql容器地址