配置docker远程访问
1.通过daemon.json配置
编辑/etc/docker/daemon.json
{
"hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"]
}
或者
2.通过systemd配置文件
创建配置文件
/etc/systemd/system/docker.service.d/docker.conf
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://127.0.0.1:2375
保存文件
sudo systemctl daemon-reload
重启docker
sudo systemctl restart docker.service
查看是否开启端口
$ sudo netstat -lntp | grep dockerd
tcp 0 0 127.0.0.1:2375 0.0.0.0:* LISTEN 3758/dockerd
docker cli 测试
docker -H :2375 ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
服务器配置docker hub
一,部署Registry
下载docker镜像 docker pull registry
二,运行容器
新建/www/registry
文件夹
创建docker容器
docker run -d -p 58082:5000 -v /www/registry:/var/lib/registry --name registry registry
今后上传的镜像就会保存在/www/registry
里面
三, 上传镜像
创建tag
docker tag dustdetection_webapp docker.jointron.com/dustdetection_webapp
上传镜像
docker push docker.jointron.com/dustdetection_webapp
如果你不是用nginx配置的,此处可忽略
1.需要注意的是,有可能会报https的问题,那就需要去配置https了,具体配置方法可以看我另一篇https配置文档
2.还可能报nginx 最大上传文件限制的问题,此时,可以修改nginx配置文件来解决
client_max_body_size 5000m;
配置最大上传文件5G
可以有以下几个地方配置,我选用在server中配置
http节点下:
http {
# 将Nginx代理的所有请求实体的大小限制为20m
client_max_body_size 20m;
}
server节点下:
server {
# 将该服务下的所有请求实体的大小限制为20m
client_max_body_size 20m;
}
location节点下:
location /yanggb {
# 将此路由请求的实体大小限制为20m
client_max_body_size 20m;
}
nginx配置文件
#######################dockerregistry#####################################
upstream dockerregistry {
server 106.14.204.144:58083;
}
server {
listen 80;
server_name docker.jointron.com;#域名
location / {
proxy_pass http://dockerregistry;
}
}
# 以下属性中以ssl开头的属性代表与证书配置有关,其他属性请根据自己的需要进行配置。
server {
listen 443 ssl; #SSL协议访问端口号为443。此处如未添加ssl,可能会造成Nginx无法启动。
server_name docker.jointron.com; #将localhost修改为您证书绑定的域名,例如:www.example.com。
root html;
index index.html index.htm;
ssl_certificate conf.d/cert/3940774_docker.jointron.com.pem; #将domain name.pem替换成您证书的文件名。
ssl_certificate_key conf.d/cert/3940774_docker.jointron.com.key; #将domain name.key替换成您证书的密钥文件名。
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用该协议进行配置。
ssl_prefer_server_ciphers on;
location / {
root html; #站点目录。
proxy_pass http://dockerregistry;
}
client_max_body_size 5000m;
}
四, 访问网站
http://docker.jointron.com/v2/_catalog
这是已经上传的镜像
五、下载镜像
docker pull docker.jointron.com/dustetection_webapp:latest