Justin-刘清政的博客

linux/Docker/12-pycharm远程连接Docker开发

2020-04-29

docker 配置pycharm连接

1 原理介绍

image-20200430004434291

2 操作 docker宿主机

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# 1 配置运行远程客户端连接docker
vim /lib/systemd/system/docker.service

#ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock

将管理地址写入 /etc/profile
执行命令:echo 'export DOCKER_HOST=tcp://0.0.0.0:2376' >> /etc/profile
执行命令:source /etc/profile

重启服务
执行命令: systemctl daemon-reload && systemctl restart docker

# 2 vim /etc/docker/daemon.json
{
"hosts": ["tcp://0.0.0.0:2376","unix:///var/run/docker.sock"]
}
systemctl daemon-reload && systemctl restart docker
# 启动会报错,因为/lib/systemd/system/docker.service和该文件的本地连接配置冲突,修改/lib/systemd/system/docker.service
vim /lib/systemd/system/docker.service
...
#ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
#改为
ExecStart=/usr/bin/dockerd --containerd=/run/containerd/containerd.sock
...
systemctl daemon-reload
systemctl restart docker

curl 127.0.0.1:2376/version

http://10.0.0.102:2376/version

3 修改本地pycharm配置

1
2
3
4
5
1 打开设置,搜索docker
2 选择TCP socket
3 填入:tcp://101.133.225.166:2376
4 Certificates folder暂时不填,Path mappings:暂时删掉
5 点击ok,在下面就能看到图形界面的管理
image-20200430013946341
1
6 选择新的解释器(使用docker的解释器)解释器---》add---》docker--》默认会选中,点击ok(稍等一会,需要连接)
image-20200430014539434
1
7 修改运行文件(可以看到目录映射,现在我们需要把代码传到宿主机的:/Users/liuqingzheng/PycharmProjects/llqz_test 路径)
image-20200430015206937
1
8 配置sftp,远程上传代码
image-20200430015434627
1
9 点 + 新建,输入名字
image-20200430015705488
1
10 选择Mappings,配置上传的目录
image-20200430015807878
1
2
11 上传代码,在项目上右键,Deplayment--》上传
运行代码即可
image-20200430015921932
1
12 也可以选择tools-->Deployment-->Automatic Upload,每次改完代码会自动上传
image-20200430020023490
1
13 我们无法安装模块,所有通过Dockerfile方式构建镜像,再切换解释器为新构建的镜像
image-20200430021738112
1
14 写完直接在Dockerfile上右键运行
image-20200430021833203
1
15 这样运行构建的镜像没有名字,我们可以配置,指定构建成的镜像名字
image-20200430021945524 image-20200430022005303
1
16 构建完成,重新选择该镜像作为解释器即可
image-20200430022139471

最后:docker pull 的时候报错

1
2
3
4
5
6
7
error pulling image configuration: Get https://production.cloudflare.docker.com/registry-v2/docker/registry/v2/blobs/sha256/b6/b63ef4ef530f7ff2d368fb0df9c28840a285e503c8710aa29e7e1da54cbb6f54/data?verify=1588096454-x6AMkkUV0qUaOPWhqC%2FQpkcJ1RA%3D: x509: certificate has expired or is not yet valid

# 提示x509:证书已过期或尚未生效。则是系统时间错误。只要同步一下网络时间即可。同步网络时间命令:

data
yum install ntpdate -y
ntpdate ntp1.aliyun.com
使用支付宝打赏
使用微信打赏

点击上方按钮,请我喝杯咖啡!

扫描二维码,分享此文章