曲阳县做网站,有专门做网站维护的职业吗,技术支持 桂林网站建设,全搜网未完成。。。 现在好像用Docker是越来越多了。之前其实也看过docker的原理#xff0c;大概就是cgroup那些#xff0c;不过现在就不看原理了#xff0c;不谈理论#xff0c;只看实际中怎么用#xff0c;解决眼前问题。
用docker来做开发#xff0c;其实就是解决的编译环境…未完成。。。 现在好像用Docker是越来越多了。之前其实也看过docker的原理大概就是cgroup那些不过现在就不看原理了不谈理论只看实际中怎么用解决眼前问题。
用docker来做开发其实就是解决的编译环境的差异就像关大象进冰箱有几步这里也有两步。1 创建docker。2 使用docker编译。 1 创建docker 理论上创建docker还是很简单首先是创建一个Dockerfile如下
# 使用 Ubuntu 作为基础镜像
FROM ubuntu:20.04# 设置非交互模式避免 tzdata 配置时的交互提示
ENV DEBIAN_FRONTENDnoninteractive# 更新包列表并安装必要的工具
RUN apt-get update \apt-get install -y \build-essential \cmake \ apt-get clean# 创建工作目录
WORKDIR /workspace# 将当前目录下的所有文件复制到工作目录中
COPY . .# 指定默认的入口命令
CMD [./build.sh]然后执行命令
# 构建 Docker 镜像
docker build -t my_cpp_project_image .看起来很简单但是过程中还是遇到了一些问题
首先说没权限 直接chmod可以解决
sudo chmod 777 /var/run/docker.sock
然后遇到的超时。这个算是在国内的老面孔了。 说是更换服务器可以解决还在尝试。
如何完美解决 “error pulling image configuration: download failed after attempts6: dial tcp 59.188.250.54-CSDN博客
error pulling image configuration: download failed after attempts6: dial tcp 47.88.58.234:443: conn-CSDN博客 2 使用docker编译 上面说了入口是build.sh所以创建这个文件
#!/bin/bash# 创建并进入 build 目录
mkdir -p build
cd build# 运行 cmake 和 make
cmake ..
make# 运行编译生成的可执行文件如果需要
./my_cpp_project创建代码 进入Docker进行编译
# 运行 Docker 容器进行编译
docker run --rm -v $PWD:/workspace my_cpp_project_image
这个的意思是docker run --rm -v $PWD:/workspace my_cpp_project_image运行一个临时容器使用当前目录挂载到容器内的 /workspace 目录中并执行默认的入口命令即 ./build.sh 脚本。--rm 标志表示在容器退出后自动删除容器。