0%

docker 镜像创建

docker镜像生成

dockerfile

1
2
3
4
5
6
7
8
9
10
# Dockerfile 文件
FROM openjdk:8u342-jdk

COPY /*.jar /app.jar

CMD ["--server.port=8080"]

EXPOSE 8080

ENTRYPOINT ["java","-jar","/app.jar"]

docker compose

将容器转成镜像

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 生成镜像
docker commit nginx-chinese-color foxhello.com/nginx/chinese-colors:1.0.0

# 保存镜像
docker save -o chinacolor.tar foxhello.com/nginx/chinese-colors:1.0.0

# 加载镜像
docker load --input chinacolor.tar

# 运行程序
docker run --name chinacolor -p 9966:80 -d foxhello.com/nginx/chinese-colors:1.0.0

# 访问网址
http://127.0.0.1:9966

将镜像上云

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
docker login
fmzh

# 重命名镜像
docker tag foxhello.com/nginx/chinese-colors:1.0.0 fmzh/chinacolor

# 在官网创建路径
https://hub.docker.com/repositories/fmzh

# 上传镜像
docker push fmzh/chinacolor

# 下载镜像
docker pull fmzh/chinacolor:latest

# 运行
docker run --name chinacolor -p 9966:80 -d fmzh/chinacolor

# 访问网址
http://127.0.0.1:9966

将镜像上nexus

1
2
3
4
5
6
7
8
9
10
11
12
# nexus docker上传要求https 且是8082端口
docker login https://nexus.foxhello.com -u admin -p fmzh201

# 重命名镜像
docker tag fmzh/chinacolor nexus-docker.foxhello.com/nginx/chinese-colors:1.0.0

# 上传镜像
docker push nexus-docker.foxhello.com/nginx/chinese-colors:1.0.0

# 下载镜像
docker login https://nexus-docker.foxhello.com
docker pull nexus-docker.foxhello.com/nginx/chinese-colors:1.0.0

参考

  1. 容器打包成镜像
  2. 镜像上云
  3. Dockerfile 示例
  4. docker 上 nexus