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