安装Docker
下载地址https://www.docker.com/get-started,下载Docker Desktop,直接安装即可.
启动Docker Desktop后,打开setting页面,修改Docker Engine的配置,添加国内的镜像地址
"registry-mirrors": [ "https://registry.docker-cn.com", "https://docker.mirrors.ustc.edu.cn", "http://hub-mirror.c.163.com", "https://cr.console.aliyun.com/" ]
修改Resources下面的FILE SHARING设置
添加D:路径
Docker打包和启动
将project.jar包放在D:dockerproject
在D:dockerproject目录下新增Dockerfile文件,内容为
# 指定基础镜像 FROM openjdk:8-jre # 维护者信息 MAINTAINER test # 定义变量 # ENV java_opt # 将当前目录下的jar包添加到容器的根目录中 ADD project.jar app.jar # 声明外界交互的端口 EXPOSE 8230 # 配置容器,使其可执行化 ENTRYPOINT exec java -jar $java_opt /app.jar
打开cmd命令行
cd D:dockerproject
打包docker镜像
docker build --rm -t project .
运行镜像,指定端口映射
docker run -d -p 8230:8230 -e java_opt=-Dserver.port=8230 --name project project
部署registry
先在liunx系统执行两条命令,为registry创建用户密码文件和证书,创建证书的时候CN输入 myregistrydomain.com
htpasswd -Bbn test 123456 > auth/htpasswd openssl req -newkey rsa:4096 -nodes -sha256 -keyout certs/domain.key -x509 -days 365 -out certs/domain.crt
将文件分别复制到D:dockerauth和D:dockercerts
Windows的host文件添加一行
127.0.0.1 myregistrydomain.com
启动registry
docker run -d --restart=always --name registry -v /d/docker/auth:/auth -v /d/docker/registry:/var/lib/registry -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd -e REGISTRY_HTTP_ADDR=0.0.0.0:443 -p 443:443 registry:2
登录registry
docker login myregistrydomain.com
给project镜像打tag
docker tag project:latestmyregistrydomain.com/myproject
推送到registry
docker push myregistrydomain.com/myproject
拉取镜像
docker pull myregistrydomain.com/myproject
部署portainer
docker run -d -p 9000:9000 -p 8000:8000 --restart=always -v "/var/run/docker.sock:/var/run/docker.sock" -v /d/docker/portainer_data:/data -v /d/docker/certs:/certs --name prtainer-test portainer/portainer --ssl --sslcert /certs/domain.crt --sslkey /certs/domain.key
浏览器打开
https://myregistrydomain.com:9000