docker构建镜像并上传dockerhub

docker构建镜像并上传dockerhub
前提条件:需要连接梯子

  1. 将梯子配置到虚拟机中(确保主机能够连接 hub.docker.com)
  • 使用ipconfig 查询主机的 ip4地址
  • 虚拟机的连接模式改成桥接模式(复制主机的地址网络)
  • 将ip4配置到虚拟机(将/etc/environment中的http的ip地址和端口更改为主机查询到的ip4地址(除localhost之外的所有))
# http_proxy="http://ip地址:端口号"
http_proxy="http://192.168.1.26:10090"
https_proxy="http://192.168.1.26:10090"
ftp_proxy="http://192.168.1.26:10090"
no_proxy="localhost,127.0.0.1"
# no_proxy 表示什么时候不走代理
  • source /etc/environment 运行一下新配置的环境变量
  • echo $http_proxy 或者echo $path查看一下环境变量是否设置成功
  • 没有成功的话,尝试重启虚拟机
  • 虚拟机能够连上google之后不代表docker能够使用梯子,因为docker是独立的,所以需要再次配置daemon.json文件中的http代理协议
  • 配置完成之后重启docker(systemctl restart docker
  1. 了解dockerfile(docker能够实现的基础)中的内容
    Dockerfile 本质上是一个文本文件,用于定义如何自动构建 Docker 镜像。它包含了一系列指令(Instructions),这些指令是用来指导镜像的构建过程,实现自动化、可移植性和环境一致性。 Docker 引擎会按照这些指令逐步构建出一个可运行的容器镜像。
    以下是dockerfile中的一些基础内容(关键词必须是大写的):
# 拉取镜像 from node
FROM node:alpine
# alpine :轻量级的Linux操作系统(如果使用ubuntu的话会比alpine大很多)

# 创建工程目录
WORKDIR /usr/src/app
# 这个目录是docker container(docker容器)里边的文件系统

# 拷贝文件并安装
# copy 主机目录(源头) docker容器目录(目标)
COPY package*.json ./
# 和python中的pip install一样,安装 包
RUN npm install 

# copy的第一个.相对路径(主机目录)
# copy的第二个.相对路径(docker镜像目录)
COPY . .

# 表示该程序运行在容器的3000端口
EXPOSE 3000
# 注:运行到主机端口需要用到端口映射( 端口映射:容器端口  映射 主机端口)
# 在主机通过主机端口去运行容器

# 运行server.js(镜像到容器的分界,使静态转化为动态可运行的状态,在cmd中要写的内容)
CMD ["node","sever.js"]
# 如果是python文件的话就是 cmd ["python","xx.py"]
  1. 工程创建好之后需要使用build构建镜像,基于镜像在容器中运行程序。
# 将当前目录 构建 名称为名称 的镜像
docker build -t 名称 . 
# 注:如果要推到dockerhub上的时候名称需要带上自己在dockerhub上的用户名

# 查看镜像
docker image ls 
# 运行容器,并将容器端口映射到主机端口
docker run -p 主机端口号:容器端口号  镜像名称
# 查看运行的容器
docker container ls 

# 停止id的容器
docker stop ID 
# 查看所有的运行过的容器
docker ps -a 
  1. 将构建好的镜像上传的到自己的dockerhub中
# 将docker中的镜像上传到dockerhub中自己的仓库中:
# 登录账号:
docker login -u 用户名
# 将镜像推到dockerhub 中
docker push 镜像名

# 从dockerhub中下载相应的镜像
# 其中在拉取	其他镜像的时候会使用-it参数,表示以交互式的方式去运行,本地没有的话会从网上下载)
docker pull 用户名称/镜像名称
# 注意:不同操作系统生成的镜像不能在不同操作系统下运行(即windows的镜像只能在windows操作系统中运行)

# 删除镜像(要先删除依赖其产生的容器,才能删除镜像)
# rmi是remove image的缩写
docker rmi 镜像ID
# 删除容器
docker rm  容器id
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值