阿裡雲ECS體驗版上手:
直接上手Docker
Docker 環境安裝
- 安裝yum-utils:
yum install -y yum-utils device-mapper-persistent-data lvm2Copy to clipboardErrorCopied
- 為yum源添加docker倉庫位置:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repoCopy to clipboardErrorCopied
- 安裝docker:
yum install docker-ceCopy to clipboardErrorCopied
- 啟動docker:
systemctl start docker
将需要的版本pull下來:
docker pull mysql:5.7
docker pull redis:5
docker pull nginx:1.10
docker pull rabbitmq:3.7.15-management
docker pull elasticsearch:7.6.2
docker pull kibana:7.6.2
docker pull logstash:7.6.2
docker pull mongo:4.2.5
閑下來看了看界面的管理:
verygood!!!!
安裝好了
練習Docker指令
檢視鏡像
docker images
建立并啟動容器
docker run -p 80:80 --name nginx -d nginx:1.17.0Copy to clipboardErrorCopied
- -d選項:表示背景運作
- --name選項:指定運作後容器的名字為nginx,之後可以通過名字來操作容器
- -p選項:指定端口映射,格式為:hostPort:containerPort
你docker裡面沒有的容器會在下載下傳最新的
列出容器
- 列出運作中的容器:
docker ps
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5SN18lblVmcjN3XyVmZlJ3LcNXZnFWbp9CXt92YucmblhmevJ3Yh1mL3d3dvw1LcpDc0RHaiojIsJye.png)
- 列出所有容器
docker ps -a
停止容器
# $ContainerName及$ContainerId可以用docker ps指令查詢出來
docker stop $ContainerName(或者$ContainerId)Copy to clipboardErrorCopied
比如:
docker stop nginx
#或者
docker stop c5f5d5125587Copy to clipboardErrorCopied
強制停止容器
docker kill $ContainerName(或者$ContainerId)Copy to clipboardErrorCopied
啟動已停止的容器
docker start $ContainerName(或者$ContainerId)Copy to clipboardErrorCopied
進入容器
- 先查詢出容器的pid:
docker inspect --format "{{.State.Pid}}" $ContainerName(或者$ContainerId)Copy to clipboardErrorCopied
- 根據容器的pid進入容器:
nsenter --target "$pid" --mount --uts --ipc --net --pidCopy to clipboardErrorCopied
删除容器
- 删除指定容器:
docker rm $ContainerName(或者$ContainerId)Copy to clipboardErrorCopied
- 按名稱删除容器
docker rm `docker ps -a | grep mall-* | awk '{print $1}'`Copy to clipboardErrorCopied
- 強制删除所有容器;
docker rm -f $(docker ps -a -q)Copy to clipboardErrorCopied
檢視容器的日志
- 檢視目前全部日志
docker logs $ContainerName(或者$ContainerId)Copy to clipboardErrorCopied
- 動态檢視日志
docker logs $ContainerName(或者$ContainerId) -fCopy to clipboardErrorCopied
檢視容器的IP位址
docker inspect --format '{{ .NetworkSettings.IPAddress }}' $ContainerName(或者$ContainerId)Copy to clipboardErrorCopied
修改容器的啟動方式
docker container update --restart=always $ContainerNameCopy to clipboardErrorCopied
同步主控端時間到容器
docker cp /etc/localtime $ContainerName(或者$ContainerId):/etc/Copy to clipboardErrorCopied
指定容器時區
docker run -p 80:80 --name nginx \
-e TZ="Asia/Shanghai" \
-d nginx:1.17.0Copy to clipboardErrorCopied
在主控端檢視docker使用cpu、記憶體、網絡、io情況檢視指定容器情況:
docker stats $ContainerName(或者$ContainerId)Copy to clipboardErrorCopied
- 檢視所有容器情況:
docker stats -aCopy to clipboardErrorCopied
檢視Docker磁盤使用情況
docker system dfCopy to clipboardErrorCopied
進入Docker容器内部的bash
docker exec -it $ContainerName /bin/bashCopy to clipboardErrorCopied
使用root帳号進入Docker容器内部
docker exec -it --user root $ContainerName /bin/bashCopy to clipboardErrorCopied
Docker建立外部網絡
docker network create -d bridge my-bridge-networkCopy to clipboardErrorCopied
[修改Docker鏡像的存放位置
檢視Docker鏡像的存放位置:
docker info | grep "Docker Root Dir"Copy to clipboardErrorCopied
- 關閉Docker服務:
systemctl stop dockerCopy to clipboardErrorCopied
- 移動目錄到目标路徑:
mv /var/lib/docker /mydata/dockerCopy to clipboardErrorCopied
- 建立軟連接配接:
ln -s /mydata/docker /var/lib/dockerCopy to clipboardErrorCopied