Docker配置遠(yuǎn)程idea使用

  • 生成證書參考如下

$ HOST=example.com
$ openssl genrsa -aes256 -out ca-key.pem 4096
Generating RSA private key, 4096 bit long modulus (2 primes)
..........++++
.........................................................................................................................................................................................++++
e is 65537 (0x010001)
Enter pass phrase for ca-key.pem:
Verifying - Enter pass phrase for ca-key.pem:
$ openssl req -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem
Enter pass phrase for ca-key.pem:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:Beijing
Locality Name (eg, city) []:Chaoyang
Organization Name (eg, company) [Internet Widgits Pty Ltd]:ZNH
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:
Email Address []:alayama@163.com
$ openssl genrsa -out server-key.pem 4096
Generating RSA private key, 4096 bit long modulus (2 primes)
........................................................................................................................................................++++
...............................................++++
e is 65537 (0x010001)
$ openssl req -subj "/CN=$HOST" -sha256 -new -key server-key.pem -out server.csr
$ echo subjectAltName = DNS:$HOST,IP:127.0.0.1 >> extfile.cnf
$ echo extendedKeyUsage = serverAuth >> extfile.cnf
$ openssl x509 -req -days 365 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem -extfile extfile.cnf
Signature ok
subject=CN = example.com
Getting CA Private Key
Enter pass phrase for ca-key.pem:
$ openssl genrsa -out key.pem 4096
Generating RSA private key, 4096 bit long modulus (2 primes)
.........................................................................................................................................................................................++++
................++++
e is 65537 (0x010001)
$ openssl req -subj '/CN=client' -new -key key.pem -out client.csr
$ echo extendedKeyUsage = clientAuth > extfile-client.cnf
$ openssl x509 -req -days 365 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out cert.pem -extfile extfile-client.cnf
Signature ok
subject=CN = client
Getting CA Private Key
Enter pass phrase for ca-key.pem:
$ rm -v client.csr server.csr extfile.cnf extfile-client.cnf
rm: remove regular file ‘client.csr’? y
removed ‘client.csr’
rm: remove regular file ‘server.csr’? y
removed ‘server.csr’
rm: remove regular file ‘extfile.cnf’? y
removed ‘extfile.cnf’
rm: remove regular file ‘extfile-client.cnf’? y
removed ‘extfile-client.cnf’
$ chmod -v 0400 ca-key.pem key.pem server-key.pem
mode of ‘ca-key.pem’ changed from 0600 (rw-------) to 0400 (r--------)
mode of ‘key.pem’ changed from 0600 (rw-------) to 0400 (r--------)
mode of ‘server-key.pem’ changed from 0600 (rw-------) to 0400 (r--------)
$ chmod -v 0444 ca.pem server-cert.pem cert.pem
mode of ‘ca.pem’ changed from 0644 (rw-r--r--) to 0444 (r--r--r--)
mode of ‘server-cert.pem’ changed from 0644 (rw-r--r--) to 0444 (r--r--r--)
mode of ‘cert.pem’ changed from 0644 (rw-r--r--) to 0444 (r--r--r--)

-####生成證書的命令詳解

  • 綁定IP或者域名
    把下面的$Host換成你自己服務(wù)器外網(wǎng)的IP或者域名:比如:openssl req -subj “/CN=192.168.1.0” -sha256…

或:openssl req -subj “/CN=www.laohan.com” -sha256…(這么做前提是你有域名,該域名DNS解析后指向你的服務(wù)器)

openssl req -subj "/CN=$HOST" -sha256 -new -key server-key.pem -out server.csr

  • 配置白名單
    接下來要允許那些ip可以連接到服務(wù)器的docker,因為已經(jīng)是ssl連接,所以我推薦配置0.0.0.0,也就是所有Ip都可以連接(但只有擁有證書的才可以連接成功),這樣配置好之后公司其他人也可以使用.如果你不想這樣,那你可以配置Ip,用逗號分隔開.下面的$Host依舊是你服務(wù)器外網(wǎng)的IP或者域名,請自行替換.(這里如果你使用的是服務(wù)器Ip的話,請將前面的DNS換成IP,否則配下來連接還是不會成功,如果你使用的是服務(wù)器域名,那么就用DNS就可以了)
echo subjectAltName = DNS:$HOST,IP:0.0.0.0 >> extfile.cnf

  • 配置docker使用加密方式

$ vim /usr/lib/systemd/system/docker.service
...第左右13行
ExecStart=/usr/bin/dockerd -H fd:// \
    --tlsverify --tlscacert=/data/docker_cert/ca.pem \
    --tlscert=/data/docker_cert/server-cert.pem \
    --tlskey=/data/docker_cert/server-key.pem \
    -H tcp://0.0.0.0:2376 \
    --containerd=/run/containerd/containerd.sock
...
$ service docker restart

可以在瀏覽器使用https://$HOST:PORT進(jìn)行測試季二,如果提示證書不正確說明配置成功叠殷,只有拿到證書的客戶端才可以訪問遠(yuǎn)程docker服務(wù)哨鸭。

image.png
  • IDEA連接遠(yuǎn)程Docker

將ca.pem,cert.pem,key.pem三個證書下載到本地醉拓。

在IDEA中打開File->Settings->Docker擂仍,填寫URL和證書目錄,


image.png

image.png
  • 配置maven docker插件

<plugin>
    <groupId>io.fabric8</groupId>
    <artifactId>docker-maven-plugin</artifactId>
</plugin>
###具體配置如下

<plugin>
    <groupId>io.fabric8</groupId>
    <artifactId>docker-maven-plugin</artifactId>
    <version>0.39.1</version>
    <configuration>
        <certPath>C:\Code\cert</certPath>
        <dockerHost>https://xxxxxxxxxx:9092</dockerHost>
        <useColor>true</useColor>
        <images>
            <image>
                <alias>${project.name}</alias>
                <name>lymboy/${project.name}</name>
                <build>
                    <from>ccr.ccs.tencentyun.com/lymboy/java8:1.0</from>
                    <maintainer>alayama@163.com</maintainer>
                    <tags>
                        <tag>${project.version}</tag>
                    </tags>
                    <workdir>/opt/</workdir>
                    <ports>
                        <port>8080</port>
                    </ports>
                    <entryPoint>
                        <exec>
                            <arg>java</arg>
                            <arg>-jar</arg>
                            <arg>/opt/${project.name}.jar</arg>
                        </exec>
                    </entryPoint>
                    <assembly>
                        <mode>dir</mode>
                        <targetDir>/opt</targetDir>
                        <descriptorRef>artifact</descriptorRef>
                    </assembly>
                </build>
            </image>
        </images>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
            <version>1.15</version>
        </dependency>
    </dependencies>
</plugin>

添加上述maven插件后粟焊,通過maven命令就可以直接將項目構(gòu)建成docker鏡像并推送到遠(yuǎn)程docker服務(wù)。

mvn clean package -Dfile.encoding=UTF-8 docker:build

上述的插件配置等價于如下Dockerfile

FROM ccr.ccs.tencentyun.com/lymboy/java8:1.0
MAINTAINER alayama@163.com
EXPOSE 8080
COPY maven /opt/
WORKDIR /opt/
ENTRYPOINT ["java","-jar","/opt/example.jar"]

當(dāng)應(yīng)用鏡像推送到遠(yuǎn)程docker服務(wù)后孙蒙,可以在IDEA Services直接運行指定的鏡像项棠。

image.png

參開出處:(35條消息) Docker配置遠(yuǎn)程訪問_lymboy的博客-CSDN博客_docker配置遠(yuǎn)程連接

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市挎峦,隨后出現(xiàn)的幾起案子香追,更是在濱河造成了極大的恐慌,老刑警劉巖坦胶,帶你破解...
    沈念sama閱讀 221,888評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件透典,死亡現(xiàn)場離奇詭異,居然都是意外死亡顿苇,警方通過查閱死者的電腦和手機峭咒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來岖圈,“玉大人讹语,你說我怎么就攤上這事》淇疲” “怎么了顽决?”我有些...
    開封第一講書人閱讀 168,386評論 0 360
  • 文/不壞的土叔 我叫張陵短条,是天一觀的道長。 經(jīng)常有香客問我才菠,道長茸时,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,726評論 1 297
  • 正文 為了忘掉前任赋访,我火速辦了婚禮可都,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蚓耽。我一直安慰自己渠牲,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,729評論 6 397
  • 文/花漫 我一把揭開白布步悠。 她就那樣靜靜地躺著签杈,像睡著了一般。 火紅的嫁衣襯著肌膚如雪鼎兽。 梳的紋絲不亂的頭發(fā)上答姥,一...
    開封第一講書人閱讀 52,337評論 1 310
  • 那天,我揣著相機與錄音谚咬,去河邊找鬼鹦付。 笑死,一個胖子當(dāng)著我的面吹牛择卦,可吹牛的內(nèi)容都是我干的敲长。 我是一名探鬼主播,決...
    沈念sama閱讀 40,902評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼互捌,長吁一口氣:“原來是場噩夢啊……” “哼潘明!你這毒婦竟也來了行剂?” 一聲冷哼從身側(cè)響起秕噪,我...
    開封第一講書人閱讀 39,807評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎厚宰,沒想到半個月后腌巾,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,349評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡铲觉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,439評論 3 340
  • 正文 我和宋清朗相戀三年澈蝙,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片撵幽。...
    茶點故事閱讀 40,567評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡灯荧,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出盐杂,到底是詐尸還是另有隱情逗载,我是刑警寧澤哆窿,帶...
    沈念sama閱讀 36,242評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站厉斟,受9級特大地震影響挚躯,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜擦秽,卻給世界環(huán)境...
    茶點故事閱讀 41,933評論 3 334
  • 文/蒙蒙 一码荔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧感挥,春花似錦缩搅、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至域蜗,卻和暖如春巨双,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背霉祸。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評論 1 272
  • 我被黑心中介騙來泰國打工筑累, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人丝蹭。 一個月前我還...
    沈念sama閱讀 48,995評論 3 377
  • 正文 我出身青樓慢宗,卻偏偏與公主長得像,于是被迫代替她去往敵國和親奔穿。 傳聞我的和親對象是個殘疾皇子镜沽,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,585評論 2 359

推薦閱讀更多精彩內(nèi)容