Docker的基本指令和HTML/PYTHON/C++的简单创建示例

简介: Docker的基本指令和HTML/PYTHON/C++的简单创建示例

Docker的基本指令和HTML/PYTHON/C++的简单创建示例

 

Docker 是一个开源的应用容器引擎,它可以让开发者打包他们的应用及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上。容器是完全使用沙箱机制,相互之间不会有任何接口。Docker 指令让用户能够创建、管理和运行容器。

 

Docker 基本指令

 

1. Docker 安装

 

在开始之前,首先需要在系统上安装 Docker。可以通过以下命令进行安装(以 Ubuntu 为例):

 

```bash
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
```

 

2. Docker 常用命令

 

以下是一些常用的 Docker 命令:

 

- **docker --version**:查看 Docker 的版本。
 
```bash
docker --version
```
 
- **docker pull <镜像名>**:从 Docker Hub 上下载镜像。
 
```bash
docker pull ubuntu
```
 
- **docker images**:列出本地存储的所有镜像。
 
```bash
docker images
```
 
- **docker run <镜像名>**:使用指定的镜像创建并运行容器。
 
```bash
docker run ubuntu
```
 
- **docker ps**:列出当前正在运行的所有容器。
 
```bash
docker ps
```
 
- **docker ps -a**:列出所有容器,包括停止运行的。
 
```bash
docker ps -a
```
 
- **docker stop <容器ID>**:停止运行中的容器。
 
```bash
docker stop <container_id>
```
 
- **docker rm <容器ID>**:删除容器。
 
```bash
docker rm <container_id>
```
 
- **docker rmi <镜像ID>**:删除镜像。
 
```bash
docker rmi <image_id>
```
 
- **docker build -t <镜像名> .**:通过 Dockerfile 构建镜像。
 
```bash
docker build -t myimage .
```
 
- **docker exec -it <容器ID> /bin/bash**:进入正在运行的容器。
 
```bash
docker exec -it <container_id> /bin/bash
```

 

创建简单的 HTML、Python 和 C++ 示例

 

接下来,我们将展示如何使用 Docker 创建一个简单的 HTML、Python 和 C++ 示例。

 

1. HTML 示例

 

创建一个简单的 HTML 页面,并使用 Nginx 容器提供服务。

 

**步骤 1**:创建一个 HTML 文件 `index.html`。

```html
<!DOCTYPE html>
<html>
<head>
    <title>Docker HTML Example</title>
</head>
<body>
    <h1>Hello, Docker!</h1>
</body>
</html>
```

 

**步骤 2**:创建一个 Dockerfile。

 

```Dockerfile
# 使用 Nginx 作为基础镜像
FROM nginx:alpine
 
# 将 HTML 文件复制到 Nginx 默认的 HTML 目录
COPY index.html /usr/share/nginx/html/index.html
```

 

**步骤 3**:构建并运行 Docker 镜像。

 

```bash
# 构建 Docker 镜像
docker build -t html-example .
 
# 运行 Docker 容器
docker run -d -p 8080:80 html-example
```

 

现在可以在浏览器中访问 `http://localhost:8080` 查看 HTML 页面。

 

2. Python 示例

 

创建一个简单的 Python 脚本,并使用 Docker 运行它。

 

**步骤 1**:创建一个 Python 文件 `app.py`。

 

```python
print("Hello, Docker!")
```

 

**步骤 2**:创建一个 Dockerfile。

 

```Dockerfile
# 使用 Python 作为基础镜像
FROM python:3.8-slim
 
# 将当前目录的内容复制到 /app 目录
COPY . /app
 
# 设置工作目录
WORKDIR /app
 
# 运行 Python 脚本
CMD ["python", "app.py"]
```

 

**步骤 3**:构建并运行 Docker 镜像。

 

```bash
# 构建 Docker 镜像
docker build -t python-example .
 
# 运行 Docker 容器
docker run python-example
```

 

容器将输出 "Hello, Docker!"。

 

3. C++ 示例

 

创建一个简单的 C++ 程序,并使用 Docker 进行编译和运行。

 

**步骤 1**:创建一个 C++ 文件 `main.cpp`。

```cpp
#include <iostream>
 
int main() {
    std::cout << "Hello, Docker!" << std::endl;
    return 0;
}
```

 

**步骤 2**:创建一个 Dockerfile。

 

```Dockerfile
# 使用 gcc 作为基础镜像
FROM gcc:latest
 
# 将当前目录的内容复制到 /usr/src/myapp 目录
COPY . /usr/src/myapp
 
# 设置工作目录
WORKDIR /usr/src/myapp
 
# 编译 C++ 程序
RUN g++ -o myapp main.cpp
 
# 运行编译后的程序
CMD ["./myapp"]
```

 

**步骤 3**:构建并运行 Docker 镜像。

 

```bash
# 构建 Docker 镜像
docker build -t cpp-example .
 
# 运行 Docker 容器
docker run cpp-example
```

 

容器将输出 "Hello, Docker!"。

 

通过这些示例,我们可以了解如何使用 Docker 构建和运行 HTML、Python 和 C++ 应用程序。Docker 的强大功能和便捷性使得开发、测试和部署应用程序变得更加容易。

相关文章
|
2月前
|
Go Docker Python
docker的python与go镜像的制作
docker的python与go镜像的制作
37 1
|
3月前
|
jenkins 持续交付 Docker
docker之自定义制作镜像(python程序)
docker之自定义制作镜像(python程序)
|
3月前
|
Docker Python 容器
python检测docker compose文件是否正确
python检测docker compose文件是否正确
|
4月前
|
运维 数据安全/隐私保护 Docker
深入浅出Python装饰器《Docker容器化技术在运维中的应用与实践》
【8月更文挑战第29天】装饰器在Python中是一个强大而神秘的存在,它能够轻松地改变一个函数的行为而不修改其源代码。本文将通过浅显易懂的语言和生动的比喻,带你一步步揭开装饰器的神秘面纱,从基本概念到实际应用,让你轻松掌握这一魔法般的工具。
|
4月前
|
Docker 容器
在Docker中,Dockerfile有哪些常见指令?
在Docker中,Dockerfile有哪些常见指令?
|
4月前
|
监控 Linux API
在Docker中,docker run指令执行后,生成了哪些进程?
在Docker中,docker run指令执行后,生成了哪些进程?
|
4月前
|
Docker Python 容器
[docker]封装python的docker镜像
[docker]封装python的docker镜像
|
4月前
|
Docker Python 容器
5 分钟,教你用 Docker 部署一个 Python 应用!
5 分钟,教你用 Docker 部署一个 Python 应用!
WK
|
4月前
|
机器学习/深度学习 运维 Java
Python 相对于 C++ 有哪些明显的优势
C++是一种强大且高效的编程语言,被广泛应用在系统软件、游戏开发、嵌入式系统等多个领域。然而Python在某些方面展现出显著优势:Python语法简洁直观,易于学习与使用,提高了代码的可读性和团队协作效率;拥有丰富的第三方库和框架资源,能有效提升开发效率;具备良好的跨平台性,无需大量修改即可适应不同操作系统;
WK
63 0
|
4月前
|
安全 Ubuntu Linux
在Docker中,镜像内没有curl,kill,ipconfig等指令如何添加?
在Docker中,镜像内没有curl,kill,ipconfig等指令如何添加?