创建Docker实例容器步骤

创建Docker实例容器步骤

安装步骤跳过,详见这个文章:Docker Desktop 安装使用教程
其中安装包可以用我这个点击下载
这个4.28.0-139021版本的可以汉化,
安装时直接把汉化文件中的app.asar文件替换到C:\Program Files\Docker\Docker\frontend\resources\app.asar
至此安装步骤结束

你可以通过以下步骤将你的项目复制到 Nginx 的工作目录:

1.打包你的项目:首先,你需要将你的项目打包成一个可以在 Nginx 上运行的格式。如果你的项目是一个 Vue.js 项目,你可以使用 npm run build 命令来打包你的项目。这将会在你的项目目录下生成一个 dist 文件夹,里面包含了你的打包好的项目,后端项目同理,先打包。
2.创建 Dockerfile:然后,你需要创建一个 Dockerfile文件,这个文件描述了如何在 Docker 容器中运行你的项目。一个基本的 Dockerfile可能看起来像这样:

# 使用 Nginx 镜像
FROM nginx:latest

# 删除 Nginx 默认的配置
RUN rm /etc/nginx/conf.d/default.conf

# 添加自定义的 Nginx 配置
COPY nginx.conf /etc/nginx/conf.d

# 将打包好的项目复制到 Nginx 的工作目录
COPY ./dist /usr/share/nginx/html

# 暴露端口
EXPOSE 80

# 启动 Nginx
CMD ["nginx", "-g", "daemon off;"]

在这个 Dockerfile 中,COPY ./dist /usr/share/nginx/html 这行命令将会将你的 dist 文件夹复制到 Nginx 的工作目录 /usr/share/nginx/html

3.创建nginx.conf:创建一个nginx.conf文件:
由于上一步中我们的Dockerfile中有添加自定义的 Nginx 配置这一条,所以要有对应的文件,等会运行时要用到。下面这就是个nginx配置文件的例子,如果自己有可以跳过这步用自己的

server {
    listen 80;
    server_name localhost;

    client_max_body_size        100m;
    client_body_buffer_size     128k;
    proxy_connect_timeout       5;
    proxy_send_timeout          1800;
    proxy_read_timeout          1800;
    proxy_buffer_size           4k;
    proxy_buffers               4 32k;
    proxy_busy_buffers_size     64k;
    proxy_temp_file_write_size  64k;
    auth_basic "status";

    location / {
        root /usr/share/nginx/html;
        index index.html;
        try_files $uri $uri/ /index.html;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

4.构建 Docker 镜像:然后,你可以使用 docker build 命令来根据你的 Dockerfile 构建一个 Docker 镜像。例如,你可以使用以下命令:

docker build -t my-project .

这个命令将会在当前目录(.)下查找 Dockerfile,并构建一个名为 my-project 的 Docker 镜像。

5.运行 Docker 容器:最后,你可以使用 docker run 命令来运行你的 Docker 容器。例如,你可以使用以下命令:

docker run -d -p 80:80 my-project

这个命令将会运行你的 my-project Docker 镜像,并将容器的 80 端口映射到你的主机的 80 端口。

6.现在,你应该可以通过访问 http://localhost 来查看你的项目了。

如何更新容器的项目文件?

重新构建 Docker 镜像:首先,你需要重新运行 docker build 命令来构建一个新的 Docker 镜像。这将会使用你最新的项目文件来构建镜像。例如:

docker build -t newdocker .

停止并删除旧的 Docker 容器:然后,你需要停止并删除正在运行的旧 Docker 容器。你可以使用 docker stop 命令来停止容器,然后使用 docker rm 命令来删除容器。例如,如果你的容器 ID 是 olddocker,你可以这样做:

docker stop olddocker
docker rm olddocker

运行新的 Docker 容器:最后,你可以使用 docker run 命令来运行新的 Docker 容器。这将会使用你刚刚构建的新 Docker 镜像。例如:

docker run -d -p 80:80 newdocker

另外,建议给daemon.json文件添加下面这段配置代码,这是拉取镜像失败的解决方案:

...
"registry-mirrors": [
  "https://docker.m.daocloud.io",
  "https://dockerproxy.com",
  "https://docker.mirrors.ustc.edu.cn",
  "https://docker.nju.edu.cn"
]
### 如何使用 Docker Desktop 创建容器 #### 准备工作 确保已经成功安装并启动了 Docker Desktop。对于 Windows 用户来说,建议也配置好 WSL (Windows Subsystem for Linux),以便更好地支持 Linux 容器的运行[^2]。 #### 启动一个新的 CentOS 8 容器 为了创建基于 CentOS 8 的容器,在命令行工具中输入如下指令: ```bash docker pull centos:8 ``` 此操作会下载官方仓库中的最新版 CentOS 8 镜像至本地机器上。之后可以通过 `docker images` 来验证镜像是否已存在本机缓存内。 接着执行下面这条语句来启动一个交互式的终端 session: ```bash docker run -it --name mycentos8 centos:8 /bin/bash ``` 这里 `-it` 参数允许用户进入该容器内部与其进行互动;而 `--name mycentos8` 是给这个新建的容器指定名称方便管理;最后 `/bin/bash` 表明将以 Bash Shell 形式开启此次会话。 #### 添加 Redis 并设置端口映射 当需要向上述创建好的 CentOS 8 容器里边加入 Redis 数据库的时候,则可以在容器里面通过 yum 或者 dnf 包管理器来进行软件包的获取与部署。完成安装以后,如果希望主机能够连接到容器内的 Redis 实例的话,那么就需要做端口转发的工作了。一种推荐的方法是在最初启动容器时就定义好外部可访问的服务端口号,比如这样: ```bash docker run -d -p 6379:6379 --name redis-server centos:8 bash -c "yum install epel-release && yum install redis && systemctl start redis" ``` 这段脚本不仅实现了自动化的环境搭建过程,同时也完成了必要的服务初始化动作,并且把容器里的 6379 端口暴露给了宿主机上的相同编号位置,从而使得两者之间可以直接通信而不必再去调整任何其他网络参数[^1]。 #### 处理现有容器的情况 假如之前已经有了一台正在运作却没有对外开放特定接口(如 Redis 默认监听的 6379)的老化容器实例,此时并不一定非要销毁重造不可。考虑到效率因素,更佳的选择或许是采用第三种方案——即先暂停目标对象(`docker stop container_id`),再借助于 `docker commit` 把当前状态保存成新的自定义镜像版本,随后依据后者再次生成具备所需特性的全新个体。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值