Mac m1上使用docker搭建C++开发调试环境

说明

因为mac上虚拟机都不太好用,有些还收费,故使用docker来搭建虚拟机。况且我的Mac是m1芯片,用的是arm架构,虚拟机更是少。

搭建本机与虚拟机互通

mac上docker与linux不同,mac上实际上内部是建了个linux的虚拟机来实现。mac上本机和虚拟机互通使用docker-connect

brew install wenjunxiao/brew/docker-connector


docker network ls --filter driver=bridge --format "{{.ID}}" | xargs docker network inspect --format "route {{range .IPAM.Config}}{{.Subnet}}{{end}}" >> /opt/homebrew/etc/docker-connector.conf
For the first time, you can add all the bridge networks of docker to the routing table by the following command:
  docker network ls --filter driver=bridge --format "{{.ID}}" | xargs docker network inspect --format "route {{range .IPAM.Config}}{{.Subnet}}{{end}}" >> /opt/homebrew/etc/docker-connector.conf
Or add the route of network you want to access to following config file at any time:
  /opt/homebrew/etc/docker-connector.conf
Route format is `route subnet`, such as:
  route 172.17.0.0/16
The route modification will take effect immediately without restarting the service.
You can also expose you docker container to other by follow settings in /opt/homebrew/etc/docker-connector.conf:
  expose 0.0.0.0:2512
  route 172.17.0.0/16 expose
Let the two subnets access each other through iptables:
  iptables 172.17.0.0+172.18.0.0

To start wenjunxiao/brew/docker-connector now and restart at startup:
  sudo brew services start wenjunxiao/brew/docker-connector
Or, if you don't want/need a background service you can just run:
  sudo docker-connector -config /opt/homebrew/etc/docker-connector.conf
docker run -it -d --restart always --net host --cap-add NET_ADMIN --name mac-docker-connector wenjunxiao/mac-docker-connector

搭建centos8容器开发环境

docker pull centos:8

docker network create --subnet=172.16.160.0/24 bridge_for_dev

docker run -itd --privileged=true --restart=always --name centos-dev --hostname centos-dev --net bridge_for_dev --ip 172.16.160.66 centos:8  /usr/sbin/init

以上/usr/sbin/init启动,便可以使用systemclt命令

下面进入容器,开始一系列环境的安装

sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*

sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

yum clean all
yum makecache
echo "export LC_ALL=C.UTF8" >> /etc/profile
source /etc/profile

sudo

yum install sudo -y

openssh

yum install openssh-server -y

sudo systemctl enable sshd
systemctl start sshd

net

yum install net-tools -y
yum install -y iputils

password

yum install passwd -y

gcc

yum install gcc gcc-c++ gdb -y
yum install automake autoconf libtool make -y
yum install ncurses-devel perl -y
yum install cmake -y
yum install python3 -y

man

yum install man -y
yum install man-pages -y

注意

本来想使用docker建一个x86架构的远程调试环境,但是无论是使用vscode还是使用clion,都无法远程debug,想着估计是系统架构不同,内部又是用qume模拟器来做了一次指令的翻译,过程中可能导致一些权限的降级或者功能的缺失吧。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Docker是一种容器化技术,可以帮助我们快速搭建Python开发环境。以下是搭建步骤: 1. 安装Docker 首先需要安装Docker,可以在官网下载安装包进行安装。 2. 创建Docker镜像 使用Dockerfile创建Docker镜像,Dockerfile是一个文本文件,其中包含了构建镜像所需的指令和配置信息。可以在Dockerfile中指定Python版本、安装依赖库等。 3. 运行Docker容器 使用Docker镜像创建Docker容器,可以在容器中运行Python程序。可以使用docker run命令创建容器,并指定容器的名称、端口映射等。 4. 进入Docker容器 使用docker exec命令可以进入Docker容器,可以在容器中执行Python程序、安装依赖库等操作。 以上是使用Docker搭建Python开发环境的基本步骤,可以根据实际需求进行配置和调整。 ### 回答2: Docker是一个轻量级容器虚拟化平台,通过Docker可以快速构建、发布和运行应用程序。Docker具有兼容性好、可移植性高、资源占用小等特点,被广泛应用于软件开发和运维领域。 Python是一门非常流行的编程语言,应用广泛。搭建Python开发环境需要安装各种编译工具、库和依赖项,非常繁琐。使用Docker可以快速搭建Python开发环境,避免了环境配置的烦恼,提高了程序的可移植性和兼容性。 下面是使用Docker搭建Python开发环境的步骤: 1. 安装Docker 首先需要安装DockerDocker官网提供了详细的安装指南和下载地址,根据自己的操作系统版本选择相应的Docker安装包进行安装。 2. 创建Docker镜像 使用Dockerfile创建Docker镜像,可以让我们轻松地搭建Python开发环境,以下是Dockerfile的示例: ``` FROM python:3.7-slim-buster WORKDIR /myapp COPY requirements.txt . RUN apt-get update && \ apt-get install -y gcc && \ pip install -r requirements.txt CMD [ "/bin/bash" ] ``` 3. 构建Docker镜像 在Dockerfile所在的目录下执行以下命令,构建Docker镜像 ``` docker build -t my-python-app . ``` 其中my-python-app是镜像名称,`.`表示当前目录。 4. 运行Docker容器 执行以下命令,启动容器 ``` docker run -it --name=my-python-container my-python-app /bin/bash ``` 其中`my-python-container`是容器名称,`my-python-app`是镜像名称,`/bin/bash`是容器启动后执行的命令。 容器启动后,可以在容器中使用Python进行开发,也可以通过端口映射将容器中的服务开放给外部。开发完成后,可以通过docker stop命令停止容器。 使用Docker搭建Python开发环境,可以帮助我们快速搭建开发环境,避免各种繁琐的配置工作,提高开发效率。同时,Docker具有极高的可移植性和兼容性,可以让我们的程序更加稳定可靠。 ### 回答3: Docker是一款非常流行的容器化技术,它可以快速搭建开发环境。在使用Docker搭建Python开发环境之前,需要先了解以下几个概念: 1. Docker镜像:Docker的镜像是一个打包好的文件,类似于虚拟机中的镜像文件,其中包含了开发环境所需的所有组件和配置。 2. Docker容器:Docker容器是Docker镜像的运行实例,可以理解为一个轻量级的虚拟机。 3. Dockerfile:Dockerfile是一个文本文件,其中包含了构建Docker镜像所需的所有步骤和指令。 接下来就是具体的步骤: 1. 安装Docker:在官网下载Docker安装包并安装,具体的步骤可以参照官方文档。 2. 创建Dockerfile:在本地创建一个文件夹,创建Dockerfile并编写如下内容: ``` FROM python:3.8 WORKDIR /app ADD . /app RUN pip install --upgrade pip RUN pip install -r requirements.txt CMD ["python", "app.py"] ``` 其中,FROM指令指定了使用的Python版本,WORKDIR指定了工作目录,ADD指令将当前目录下的所有文件添加到镜像中,RUN指令用来执行命令。requirements.txt文件是保存依赖包的文件。 3. 构建Docker镜像:在Dockerfile所在的目录执行以下命令: ``` docker build -t my-python-app . ``` 其中,my-python-app是镜像的名称,最后的“.”表示Dockerfile所在的当前目录。 4. 运行Docker容器:执行以下命令即可启动容器: ``` docker run -d -p 80:80 my-python-app ``` 其中,-d表示以守护进程模式启动容器,-p指定了一个端口映射,my-python-app是要启动的镜像名称。 5. 验证容器是否正常运行:在浏览器中输入http://localhost,可以看到Python应用程序的输出。 以上就是使用Docker搭建Python开发环境的具体步骤,通过Docker,我们可以快速、简单地搭建开发环境,使得开发者可以更加专注于业务逻辑的实现,而不必担心开发环境的配置和兼容性问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值