基本模式是这样子的.
我们需要将服务器上现成的image pull到本地, 按照自己的实验环境进行配置,保存为新的image, 然后再push到服务器上.
假设服务器IP为172.16.0.7
首先设置安全仓库为服务器Ip
vim /etc/docker/daemon.json
# 将安全仓库设为服务器ip
{ "insecure-registries": ["172.16.0.7"]}
# 重启docker使配置生效
systemctl restart docker
登录docker 仓库
# login to docker repository
docker login 172.16.0.7
Commands above needs to be executed only once
从服务器pull image
docker pull 172.16.0.7/project_name/image_name:tag_name
查看 images
docker images
使用刚pull下来的image运行container
docker run --name container_name -v $(realpath ~):/mnt/home -itd 172.16.0.7/project_name/image_name:tag bash
其中$(realpath ~) 为本地目的,/mnt/home 为挂在到container中的对应目录
进入container
docker exec -it container_name bash
现在你就可以在container中配置你所需要的环境了。
保存配置好的container为image
docker commit -m "commint_info" container_name 172.16.0.7/project_name/container_name:new_tag_name
此时,本地的images中就多了一个名叫172.16.0.7/project_name/container_name的image
将配置好的image
docker push 172.16.0.7/project_name/container_name:new_tag_name