Docker 簡介
Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的鏡像中,然後發佈到任何流行的 Linux或Windows機器上。使用Docker可以更方便低打包、測試以及部署應用程序。
Docker 環境安裝
對於安裝docker環境不熟的可以參考這篇文章,寫的比較詳細些:https://blog.csdn.net/sliver1836/article/details/103149263
1.安裝yum-utils:
yum install -y yum-utils device-mapper-persistent-data lvm2
2.爲yum源添加docker倉庫位置:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
3.安裝docker:
yum install docker-ce
4.啓動docker:
systemctl start docker
Docker 鏡像安裝
1.搜索鏡像:
docker search java
2.下載鏡像:
docker pull java:8
3.查找docker支持的鏡像版本:
先進入docker hub的官網,地址:https://hub.docker.com 之後搜索需要下載的鏡像,如想搜索nginx
點擊進入後可以看到nginx的版本。
4.下載所需要的鏡像:docker pull nginx:1.17.6
5.到這裏我們就完成了了docker環境和鏡像的安裝了
Docker 容器的一些常用命令
1.查看當前docker中的鏡像:docker images 輸入命令後可以查看到我們下載的鏡像如nginx 1.17.6,java 8等.
2.刪除指定名稱鏡像:docker rmi java:8 強制刪除:docker rmi -f java:8
3.刪除沒有引用的鏡像:docker rmi `docker images | grep none | awk '{print $3}'`
4.強制 刪除全部鏡像:docker rmi -f $(docker images)
5.啓動容器:docker run -p 80:80 --name nginx -d nginx:1.17.6
6.列出運行中的容器:docker ps 查出所有的容器則是 docker ps -a
7.停止容器:docker stop $ContainerName(或者$ContainerId) (ContainerName,ContainerId可用docker ps 查出)執行完停止命令後可用docker ps查看是否停止了
8.強制停止容器和啓用容器:docker kill $ContainerName(或者$ContainerId) 和docker start $ContainerName(或者$ContainerId)
9.進入容器:先查出需要進入容器的pid:docker inspect --format "{{.State.Pid}}" $ContainerName(或者$ContainerId) 然後根據pis進入容器:nsenter --target "$pid" --mount --uts --ipc --net --pid
進入容器後如果需要退出來執行exit,如果還沒有則再次執行exit
10.刪除指定容器:docker rm $ContainerName(或者$ContainerId)
11.按名稱刪除:docker rm `docker ps -a | grep xxx-* | awk '{print $1}'` xxx爲需要刪除的名稱
12.強制刪除所有容器:docker rm -f $(docker ps -a -q)
13.查看日誌:docker logs $ContainerName(或者$ContainerId) 在查看命令加上-f則是動態查詢docker logs $ContainerName(或者$ContainerId) -f
14.查看容器ip地址:docker inspect --format '{{ .NetworkSettings.IPAddress }}' $ContainerName(或者$ContainerId)
15.修改容器的啓動方式:docker container update --restart=always $ContainerName
16.同步宿主機時間到容器:docker cp /etc/localtime $ContainerName(或者$ContainerId):/etc/
17.在宿主機查看docker指定容器使用的cpu,內存,網絡,io等情況:docker stats $ContainerName(或者$ContainerId) 查看所有的容器使用情況:docker stats -a
18.查看docker磁盤使用情況:docker system df
19.進入docker內部的bash:docker exec -it $ContainerName /bin/bash
20.查看docker鏡像存放的位置:docker info | grep "Docker Root Dir"
21.關閉docker服務:systemctl stop docker
22.移動docker目錄到其他位置:mv /var/lib/docker /mydata/docker
23.建立軟連接:ln -s /mydata/docker /var/lib/docker