背景:
因为工作环境不同,每次都要都要搭不同go的环境,所以把心一横都把环境放在docker上,这样每次就用dockerfile就能够了。

如果能迷信上网预计都能查到这文章

https://blog.jetbrains.com/go...

如果依据jetbrain 这篇文章来原理是goland build 新docker,然而会有个问题,每次run或build 上在dockerdesk里多出一些奇怪的容器(到当初我也查不明起因)。而后我逆向思维,做成在goland连贯本地build 好的docker,而后goland terminal开发测试。

实际操作:
一、基于本人需要写dockerfile

FROM centos:8.4.2105#尽量小写run,合在一起能够减小层RUN yum install -y curl wget && \    wget -O /etc/yum.repos.d/CentOS-Linux-BaseOS.repo https://mirrors.aliyun.com/repo/Centos-8.repo && \    yum install -y tar bzip2 unzip passwd sudo yum-utils hostname net-tools man which && \    yum install -y gcc gcc-c++ git make automake cmake patch libpng-devel libjpeg-devel && \    yum -y install openssh-server && \    yum clean all && \    mkdir -p  /var/run/sshd && \    ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key && \    ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key && \    /bin/echo 'root:123456'|chpasswd && \    /bin/sed -i 's/.*session.*required.*pam_loginuid.so.*/session optional pam_loginuid.so/g' /etc/pam.d/sshd && \    /bin/echo -e "LANG=\"en_US.UTF-8\"" > /etc/default/local && \    rm -rf /run/nologin   RUN cd /tmp &&\    wget -O go.tar.gz https://golang.google.cn/dl/go1.17.1.linux-amd64.tar.gz && \    tar --remove-files -C /usr/local/ -zxf go.tar.gz && \    mkdir -p /go && \    ln -sv /usr/local/go/bin/go /bin    #env 放在最初    ENV GOROOT=/usr/local/goENV GOPATH=/goENV PATH=$GOROOT/bin:$PATHEXPOSE 22CMD /usr/sbin/sshd -D

二、build 镜像
docker build -t docker_centos .

三、启动容器,这里用dockerdesk,记得要挂载宿主机开发环境

四、配置goland
window:setting->build、execution->docker
在外面增加一个本地docker
mac如下图:

设置胜利后在service外面会多出docker标记

五、测试
在对应的容器外面,选中右手键,增加terminal

而后写代码运行