docker启动一个helloworld(公司内网服务器)

这里写目录标题

我来介绍几种启动 Docker Hello World 的方法:

  1. 最简单的方式
bash 复制代码
docker run hello-world

这会自动下载并运行官方的 hello-world 镜像。

  1. 使用 Nginx 作为 Hello World
bash 复制代码
docker run -d -p 80:80 nginx

-d: (detach) 在后台运行容器,不会占用当前终端

-p 80:80: 端口映射

第一个 80 是主机端口(外部访问端口)

第二个 80 是容器内部端口

格式为 主机端口:容器端口

nginx: 使用的镜像名称

然后访问 http://localhost 就能看到 Nginx 欢迎页面。

可以通过curl命令看一下Localhost

  1. 自己创建一个 Hello World 容器

首先创建一个 Dockerfile

dockerfile 复制代码
FROM ubuntu
CMD echo "Hello World from Docker!"

然后构建和运行:

bash 复制代码
# 构建镜像
docker build -t my-hello-world .

# 运行容器
docker run my-hello-world

直接下了一个20G的ubuntu镜像在本地

  1. 使用 Python 创建 Hello World

创建 Dockerfile

dockerfile 复制代码
FROM python:3.8-slim
WORKDIR /app
COPY . .
CMD ["python", "-c", "print('Hello World from Python!')"]

构建和运行:

bash 复制代码
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),添加以下内容:

bash 复制代码
{
    "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中有文件,键之间需要加逗号

bash 复制代码
{
    "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"]
}

然后重启服务

bash 复制代码
sudo systemctl daemon-reload
sudo systemctl restart docker
相关推荐
程序员老赵1 天前
Docker 部署 Redmine:老牌开源项目管理部署实测记录
docker·开源·团队管理
程序员老赵1 天前
服务器文件不想 SFTP 上传?Docker 跑个 File Browser,浏览器就能管理
服务器·docker·开源
vivo互联网技术1 天前
从 10 分钟到 1 秒:ES 深度分页任意跳页的三轮优化实战
服务器·数据库·redis·elasticsearch·深度分页
lichenyang4533 天前
Docker 学习笔记(五):Docker Compose,用一个 YAML 启动前端、后端和 MongoDB
docker
lichenyang4533 天前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器
lichenyang4533 天前
Docker 学习笔记(三):Docker 网络、bridge、子网和容器互通
docker·容器
lichenyang4533 天前
Docker 学习笔记(二):docker run 的参数到底在控制什么?
docker·容器
Patrick_Wilson8 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy8 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker