官网:https://docs.docker.com/get-started/overview/
1 Docker overview
2 开始
2.1 创建镜像并启动
这里我们以一个nodejs用于为例,说明容器化应用程序过程
首先克隆这个应用程序源码
git clone https://github.com/docker/getting-started.git
然后,创建一个Dockerfile文件
[root@localhost app]# pwd /data/srcs/getting-started/app [root@localhost app]# vi Dockerfile
Dockerfile内容为
# syntax=docker/dockerfile:1 FROM node:18-alpine WORKDIR /app COPY . . RUN yarn install --production --registry=https://registry.npm.taobao.org
# 如果yarn install命令执行失败,可以改为npm install试一下 CMD ["node", "src/index.js"] EXPOSE 3000
构建镜像
docker build -t getting-started .
其中-t参数为镜像打一个tag,.参数表示在当前路径下查找Dockerfile文件
启动镜像
docker run -dp 3000:3000 getting-started
然后我们访问宿主机的3000端口,可以看到应用程序部署成功
有时候我们重新生成了镜像,需要重新部署镜像
[root@localhost app]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c77251691610 05a7b6b9d2f4 "docker-entrypoint.s…" 37 minutes ago Up 37 minutes 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp ecstatic_cartwright [root@localhost app]# docker stop c77251691610 c77251691610 [root@localhost app]# docker rm c77251691610 c77251691610 [root@localhost app]# docker run -dp 3000:3000 getting-started 89ed2658b10f65f80d616fe571de53e2fae9113ff05da125eec9371b19f82eef [root@localhost app]#
2.2 共享镜像
共享镜像的意思是,我们将生成的镜像push到远程仓库。
我们以推送到docker hub为例
首先,需要在docker hub注册账号。
然后,登陆docker hub
docker login -u zhenjingcool
然后,执行docker tag命令
docker tag getting-started zhenjingcool/getting-started
然后执行docker push命令
docker push zhenjingcool/getting-started
然后,我们会发现仓库中多了一个镜像
接下来,我们在play with docker中运行刚才上传的镜像
首先登陆play with docker,然后点击"ADD NEW INSTANCE",然后执行 docker run -dp 3000:3000 zhenjingcool/getting-started ,如下图所示
然后,我们就可以看到我们运行的镜像应用了
标签:getting,started,app,解读,文档,3000,镜像,docker From: https://www.cnblogs.com/zhenjingcool/p/17331471.html