Docker手冊
docker手冊
安裝
# 移除舊版本docker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
# 配置docker yum源。
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安裝 最新 docker
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 啟動& 開機啟動docker; enable + start 二合一
systemctl enable docker --now
# 配置加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://do.nark.eu.org",
"https://dc.j8.work",
"https://docker.m.daocloud.io",
"https://dockerproxy.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.nju.edu.cn"
]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
常見命令
#查看運行中的容器
docker ps
#查看所有容器
docker ps -a
#獲取所有容器id:
docker ps -aq
#搜索鏡像
docker search nginx
#下載鏡像
docker pull nginx
#下載指定版本鏡像
docker pull nginx:1.26.0
#查看所有鏡像
docker images
#刪除指定id的鏡像
docker rmi e784f4560448
#運行一個新容器
docker run nginx
#停止容器
docker stop keen_blackwell
#啟動容器
docker start 592
#重啟容器
docker restart 592
#查看容器資源占用情況
docker stats 592
#查看容器日志
docker logs 592
#刪除指定容器
docker rm 592
#強制刪除指定容器
docker rm -f 592
# 后臺啟動容器
docker run -d --name mynginx nginx
# 后臺啟動并暴露端口
docker run -d --name mynginx -p 80:80 nginx
# 進入容器內部
docker exec -it mynginx /bin/bash
# 查看容器詳情
docker container inspect mynginx
docker inspect mynginx
# 提交容器變化打成一個新的鏡像
docker commit -m "update index.html" mynginx mynginx:v1.0
# 保存鏡像為指定文件
docker save -o mynginx.tar mynginx:v1.0
# 刪除多個鏡像
docker rmi bde7d154a67f 94543a6c1aef e784f4560448
# 加載鏡像
docker load -i mynginx.tar
# 登錄 docker hub
docker login
# 重新給鏡像打標簽
docker tag mynginx:v1.0 leifengyang/mynginx:v1.0
# 推送鏡像
docker push leifengyang/mynginx:v1.0
存儲
兩種方式,注意區分:
● 目錄掛載: -v /app/nghtml:/usr/share/nginx/html
● 卷映射:-v ngconf:/etc/nginx
---------------------------------
1、卷映射:-v 卷:容器內目錄
2、卷在外部主機默認存放位置:/var/lib/docker/volumes/卷名
3、列出所有的卷操作
docker volume ls
4、創建一個卷
docker volume create 卷名
5、查看某個卷的詳情
docker volume inspect 卷名
網絡
docker network --help
# 創建自定義網絡,實現主機名作為穩定域名訪問。
# 自定義網絡
docker network create mynet
# docker為每個容器分配唯一IP,使用容器ip+容器端口可以互相訪問
# 運行鏡像并且添加為自定義網絡
docker run -d -p 88:80 --name app01 --network mynet nginx
Dockerfile 自定義鏡像
| 指令 | 作用 |
| FROM | 指定鏡像基礎環境 |
| RUN | 運行自定義命令 |
| CMD | 容器啟動命令或參數 |
| LABEL | 自定義標簽 |
| EXPOSE | 指定暴露端口 |
| ENV | 環境變量 |
| ADD | 添加文件到鏡像 |
| COPY | 復制文件到鏡像 |
| ENTRYPOINT | 容器固定啟動命令 |
| VOLUME | 數據卷 |
| USER | 指定用戶和用戶組 |
| WORKDIR | 指定默認工作目錄 |
| ARG | 指定構建參數 |
構建命令
docker build -f Dockerfile -t mynginx:v1.0 .

浙公網安備 33010602011771號