阿里云镜像仓库的使用

阿里云镜像仓库的使用:
1.注册登录
https://cr.console.aliyun.com/cn-hangzhou/instances
在镜像工具-镜像加速器中,更改docker的镜像源:可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

cd /etc/docker
touch daemon.json
vim daemon.json
>>{
>>  "registry-mirrors": ["https://fiinbkgv.mirror.aliyuncs.com"]
>>}
sudo systemctl daemon-reload
sudo systemctl restart docker

2.进入实例列表创建个人实例(由于资源有限,个人实例只允许创建三个命名空间)
先创建命名空间(实际上是存放各个镜像,为了不与其他用户创建的镜像相冲突,所以设置具有唯一性的命名空间)
然后在命名空间中创建镜像仓库(一个镜像仓库存放同一镜像的不同版本)
3.在本地打包镜像
1)创建一个文件夹(文件名和创建的镜像名一致),保存Dockerfile和jar包
2)在文件夹中创建Dockerfile

#Dockerfile内容:
FROM java:8
VOLUME /tmp
EXPOSE 8080
COPY test.jar test.jar
ENTRYPOINT ["java","-jar","test.jar"]

3)打包sping boot项目为jar包
4)构建镜像,进入文件夹

docker build -t [镜像名] .

#查看镜像

docker images

#构建成功后启动容器
#/root/logs:/logs日志挂载到磁盘
#/root/logs磁盘路径,/logs为应用保存日志的相对路径

docker run --name [容器名] -d -p 8080:8080 -v /root/logs:/logs [镜像名]

#启动完成后可以查看具体情况
#查看日志

docker logs  [容器名]

#查看容器启动状态,status为up则启动正常

docker ps -a

4.登录阿里云Docker Registry

docker login --username=aliyun4995877930 registry.cn-hangzhou.aliyuncs.com
passage:输入密码

5.给镜像添加tag

docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/space_for_ivy/test_for_tianchi:[镜像版本号]

6.将镜像推到远程仓库

docker push registry.cn-hangzhou.aliyuncs.com/space_for_ivy/test_for_tianchi:[镜像版本号]

7.从远程仓库中拉取镜像部署到本地(如果镜像是私有,需要提前登录阿里云Docker Registry后才能拉取)

docker pull registry.cn-hangzhou.aliyuncs.com/space_for_ivy/test_for_tianchi:[镜像版本号]

8.查看镜像

docker images

9.运行镜像,生成容器

docker run --name [容器名] -d -p [宿主机端口名]:[docker端口名] [镜像名]

10.查看是否成功启动

docker ps -a

11.复制文件到映射目录

docker cp [容器名]:/etc/nginx/nginx.conf /root/nginx/conf

12.停止此容器

docker stop [容器名]

13.删除容器

docker rm [容器名]

14.重新启动镜像,以nginx为例
# 注意这里配置的是docker容器内nginx容器的挂载路径,之后发布前端项目需要在nginx配置文件里配置该挂载路径

docker run --restart=always -d -p 80:80 --name nginx -v /root/nginx/html:/usr/share/nginx/html -v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /root/nginx/logs:/var/log/nginx nginx

15.查看是否启动成功

docker ps -a

16.添加nginx配置文件
监听的是80端口,把192.168.0.1换成服务器的内网IP(即后端项目访问IP),/api/为后端接口的映射前缀,所以前端访问后端接口时都要加上这个前缀,当匹配到时转发到后端应用。
然后配置前端,根路径即是前端首页,需要注意的是root 的路径是docker容器内nginx容器挂载前端项目的路径,并不是服务器本地挂载的路径。

cd /root/nginx/conf/nginx.conf
    server {
        listen 80;
        server_name localhost;

    location /api/ {
        proxy_pass http://192.168.0.1:8080/; 
    }
    location / {
        root /usr/share/nginx/html/test-page;
        index index.html index.htm;
    }
    }

16.停止容器

dcoker stop nginx

17.启动容器

docker start nginx

猜你喜欢

转载自blog.csdn.net/hongyinvjianke/article/details/130578998