這里寫目錄標題
- 容易遇到的問題:
- 1、docker連接問題
我來介紹幾種啟動 Docker Hello World 的方法:
- 最簡單的方式:
docker run hello-world
這會自動下載并運行官方的 hello-world 鏡像。
- 使用 Nginx 作為 Hello World:
docker run -d -p 80:80 nginx
-d: (detach) 在后臺運行容器,不會占用當前終端
-p 80:80: 端口映射
第一個 80 是主機端口(外部訪問端口)
第二個 80 是容器內部端口
格式為 主機端口:容器端口
nginx: 使用的鏡像名稱
然后訪問 http://localhost 就能看到 Nginx 歡迎頁面。
可以通過curl命令看一下Localhost
- 自己創建一個 Hello World 容器:
首先創建一個 Dockerfile
:
FROM ubuntu
CMD echo "Hello World from Docker!"
然后構建和運行:
# 構建鏡像
docker build -t my-hello-world .# 運行容器
docker run my-hello-world
直接下了一個20G的ubuntu鏡像在本地
- 使用 Python 創建 Hello World:
創建 Dockerfile
:
FROM python:3.8-slim
WORKDIR /app
COPY . .
CMD ["python", "-c", "print('Hello World from Python!')"]
構建和運行:
docker build -t python-hello .
docker run python-hello
常用的 Docker 命令:
docker ps
- 查看運行中的容器docker images
- 查看本地鏡像docker stop <容器ID>
- 停止容器docker rm <容器ID>
- 刪除容器docker rmi <鏡像ID>
- 刪除鏡像
這些是最基礎的 Docker Hello World 示例,你可以根據需要選擇合適的方式。
容易遇到的問題:
1、docker連接問題
docker: Error response from daemon: Get “https://registry-1.docker.io/v2/”: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
See ‘docker run --help’.
需要改用國內鏡像源
編輯或創建 /etc/docker/daemon.json
文件(Windows 通常在 %programdata%\docker\config\daemon.json
),添加以下內容:
{"registry-mirrors": ["https://mirror.ccs.tencentyun.com","https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn","https://hub-mirror.c.163.com"]
}
注意如果原先json中有文件,鍵之間需要加逗號
{"registry-mirrors": ["https://mirror.ccs.tencentyun.com","https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn","https://hub-mirror.c.163.com"], // 這里需要加逗號"dns": ["192.10.0.2", "8.8.8.8"]
}
然后重啟服務
sudo systemctl daemon-reload
sudo systemctl restart docker