使用docker创建一个Linux下C++开发环境(使用VS Code远程开发)

使用docker创建一个Linux下C++开发环境(使用VS Code远程开发)

Windows下安装docker

从官网下载docker for windows安装,需要注意的是只有Windows 10专业版或企业版或教育版才能使用docker。安装完后可以设置国内的镜像源(外网的源很慢)。网上有很多教程,这里不再赘述。

在docker中创建centos下c++开发环境

$ docker search centos    #查看centos镜像
$ docker pull centos      #拉取一个centos镜像
$ docker images           #查看当前系统中的镜像信息

$ docker run -it centos:latest /bin/bash      #启动一个容器
#接下来将进入centos环境
[root@xxxx]$ yum install git vim gcc gcc-g++ libstdc++-devel    #安装c++开发环境
...

在docker中配置ssh

[root@xxxx]$ yum install passwd openssl openssh-server openssh-clients       #安装ssh  
...
[root@xxxx]$ yum insatll initscripts        #安装service命令
...
[root@xxxx]$ passwd     #修改登录密码,若使用密钥登录,则不需要
...
# 重启ssh服务,并设置开机启动
[root@xxxx]$ service sshd restart
[root@xxxx]$ chkconfig sshd on 
# 若上述两条命令无法执行,可以使用以下两条命令
[root@xxxx]$ systemctl start sshd.service
[root@xxxx]$ systemctl enable sshd.service

将配置好的docker生成镜像

[root@xxxx]$ exit       #退出容器
$ docker stop containter    #停止容器
$ docker commit -m="xxx" -a="xxxx" container_id gnugcc/centos:tag       #生成一个镜像

再次开启docker

之后每次开启docker,都按照以下步骤即可:

$ docker run -itd --name test -p 5022:22 --privileged=true -v /d/docker-volume/cpp:/home/cpp image_id /sbin/init

#-d 参数使容器在后台运行
#-p 端口映射,这里将docker的22端口映射到宿主机5022端口,之后SSH连接本地5022端口即可
#--privileged=true 在centos中使用service命令开启ssh服务需要这个参数
#-v 将本地文件目录挂载到docker中

//执行完上述命令创建容器并运行之后,需要稍等片刻等待centos启动完成,然后才能进行登录。否则会登录失败。

在本地使用SSH连接到docker

两种方法:一种是使用账号密码登录,另一种是使用密钥登录,详情见教程

在VS Code中通过上述两种方法均可登录docker,但是先要安装remote-SSH拓展。

猜你喜欢

转载自blog.csdn.net/qq_38600065/article/details/105134348