获取官方指定镜像
如果速度很慢,可以更换仓库加速,比如Mac本地配置:
"registry-mirrors": ["http://docker.mirrors.ustc.edu.cn","http://hub-mirror.c.163.com"
]
拉取镜像命令及输出:
# 命令
$ docker pull mermade/openapi-gui# 输出
Using default tag: latest
latest: Pulling from mermade/openapi-gui
Digest: sha256:3659dff712e3db315f5658502b7b0e0e88a52c9fe33ac1a540cc160ea3ea8589
Status: Image is up to date for mermade/openapi-gui:latest
docker.io/mermade/openapi-gui:latest
修改 && 制作新镜像
有些场景我们需要修改官方镜像的配置,比如修改端口等,我们以官方镜像:mermade/openapi-gui为例,默认启动端口是3000,假设我们现在需要修改为8080。
- 修改openapi-gui.js文件中的3000为8080,可以使用挂载命令或者docker cp命令完成,不同的镜像修改的文件不一样
- docker cp命令可以实现容器和物理机器的文件传递
- docker run启动容器,通过docker ps获取容器CONTAINER ID
$ docker run openapi-gui-debug2> openapi-gui@1.2.2 start /usr/src/app
> node openapi-gui.jsOpenAPI GUI server listening at http://:::8080
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
43f46c1bd2db openapi-gui-debug2 "npm start" 2 minutes ago Up 2 minutes 3000/tcp amazing_hofstadter
- docker commit命令将容器制作为新的本地镜像,假设CONTAINER ID为43f46c1bd2db,新的镜像名字为openapi-gui-debug2
$ docker commit 43f46c1bd2db openapi-gui-debug2
可以使用docker images查找对应的镜像,然后使用docker tag打上新标签,推到对应的镜像仓库即可,部分命令如下:
# 查看镜像
docker images | grep openapi-gui# 重新打tag
docker tag openapi-gui-debug2 image-beta.xxx.xxx.com/projects/smart-xx/openapi-gui-debug:0.2# 推镜像到新仓库
docker push image-beta.xxx.xxx.com/projects/smart-xx/openapi-gui-debug:0.2