xuxinyi преди 9 месеца
родител
ревизия
5385d0de63
променени са 1 файла, в които са добавени 55 реда и са изтрити 0 реда
  1. 55 0
      docker/docker.md

+ 55 - 0
docker/docker.md

@@ -0,0 +1,55 @@
+下面是从创建 Dockerfile 到在另一台服务器上启动容器的完整步骤: 1. 创建 Dockerfile 首先,在本地(原始服务器)创建一个名为 Dockerfile 的文件,内容如下: dockerfile Copy  Edit    FROM ubuntu:18.04
+
+# 更新包并安装必要工具
+RUN apt update && apt install -y openssh-server net-tools
+
+# 创建 SSH 服务工作目录
+RUN mkdir /var/run/sshd
+
+# 设置 root 密码
+RUN echo 'root:password123' | chpasswd
+http://60.204.139.57:13000/xuxinyi/note.git
+# 允许 root 用户通过 SSH 登录
+RUN sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
+
+# 开放常见端口
+EXPOSE 22 80 443 3306 6379 5432
+
+# 启动 SSH 服务
+CMD ["/usr/sbin/sshd", "-D"]
+2. 构建 Docker 镜像 在 Dockerfile 文件所在的目录中运行以下命令,构建镜像: bash Copy  Edit    
+        docker build -t gogs .
+   这将创建一个名为 gogs 的镜像。 
+   
+3. 保存 Docker 镜像为 TAR 文件 将构建的 Docker 镜像保存为一个 .tar 文件,以便传输到另一个服务器: bash Copy  Edit    
+    docker save -o gogs.tar gogs
+
+   这会将 gogs 镜像保存为 gogs.tar 文件。
+    
+4. 将 TAR 文件传输到另一个服务器 使用 scp 或其他传输工具,将 gogs.tar 文件传输到目标服务器。假设目标服务器的 IP 地址为 192.168.1.2,命令如下: bash Copy  Edit    
+    scp gogs.tar root@192.168.1.2:/root/123
+
+5. 在目标服务器上加载 Docker 镜像 登录到目标服务器并加载传输过来的 Docker 镜像: bash Copy  Edit    
+   docker load -i /root/123/gogs.tar
+   这将从 gogs.tar 文件中加载 Docker 镜像。 
+    
+6. 启动容器 使用以下命令启动容器,并映射必要的端口(例如 22 端口映射到 10022): bash Copy  Edit    
+   docker run -d -p 10022:22 -p 10080:80 -p 10443:443 -p 12206:3306 -p 15432:5432 --name gogs-container gogs
+   该命令将启动容器 gogs-container,并将容器内的端口映射到主机的端口。 
+    
+7. 验证容器是否启动 运行以下命令查看容器是否已启动: bash Copy  Edit    
+   docker ps
+   您应该能够看到容器正在运行并且端口已经映射。 
+    
+8. 访问容器 •  使用 SSH 连接到容器内,端口 10022 对应于容器的 22 端口: bash Copy  Edit    
+   ssh root@<目标服务器IP> -p 10022
+   使用设置的密码 password123 进行登录。   
+    
+9. 检查容器内的 SSH 服务 进入容器内并检查 SSH 服务是否运行正常: bash Copy  Edit    
+   docker exec -it gogs-container bash
+   ps aux | grep sshd
+   如果服务未启动,您可以手动启动: bash Copy  Edit    service ssh start
+
+10. 检查网络连接 验证容器内的网络配置是否正常: bash Copy  Edit    docker exec -it gogs-container netstat -tuln
+    这将列出所有正在监听的端口。 11. 查看容器日志 如果有问题,您可以查看容器日志,以便进一步排查问题: bash Copy  Edit    docker logs gogs-container
+    总结 1. 创建并构建 Docker 镜像,然后保存为 .tar 文件。 2. 将 .tar 文件传输到目标服务器。 3. 在目标服务器上加载并启动容器,通过端口映射使得服务可访问。 4. 登录容器并检查服务状态,确保 SSH 和其他服务正常运行。  通过这些步骤,您可以将 Docker 容器从一台服务器迁移到另一台服务器,并正常运行。