方式一:修改配置文件(需停止docker服务)
1、停止docker服务
systemctl stop docker.service(关键,修改之前必须停止docker服务)
2、修改配置文件中的目录位置
vim /var/lib/docker/containers/container-ID/config.v2.json
"MountPoints":
{
"/home": {
"Source": "/docker",
"Destination": "/home",
"RW": true,
"Name": "",
"Driver": "",
"Type": "bind",
"Propagation": "rprivate",
"Spec": {
"Type": "bind",
"Source": "//docker/",
"Target": "/home"
}
}
}
3、启动docker服务
systemctl start docker.service
4、启动docker容器
docker start <container-name/ID>
方式二:提交现有容器为新镜像,然后重新运行它
1、查看容器ID
docker container ps -a
docker container ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
48dd9d980c56 elasticsearch "/docker-entrypoint.…" 41 seconds ago Exited (0) 12 seconds ago tmp-es
2、提交容器到新镜像
docker commit [CONTAINER_ID] [IMAGES_NAME:TAG]
- CONTAINER_ID:现有容器ID
- IMAGES_NAME:新镜像名称
docker commit 48dd9d980c56 mycentos:1.0
3、删除旧容器
docker rm [CONTAINER_NAME|CONTAINER_ID]
- CONTAINER_NAME:容器名称
- CONTAINER_ID:容器ID
docker rm MyCentOS
4、从提交的新镜像运行一个新容器
docker run -it --name [CONTAINER_NAME] -v [HOST_PATH_DIR]:[CONTAINER_PATH_DIR] [IMAGES_NAME] [CMD]
- CONTAINER_NAME:容器名称
- HOST_PATH_DIR:宿主机绝对路径
- CONTAINER_PATH_DIR:容器绝对路径
- IMAGES_NAME:镜像名称
- CMD:运行命令
docker run -it --name MyCentOS -v /var/www:/var/www mycentos:1.0 /bin/bash
方式三:export容器为镜像,然后import为新镜像
1、导出容器到镜像
docker export [CONTAINER_NAME|CONTAINER_ID] > [PATH_FILE]
- CONTAINER_NAME:容器名称
- CONTAINER_ID:容器ID
- PATH_FILE:导出镜像路径及名称
docker export MyCentOS > /home/data/mycentos.tar.gz
2、导入镜像
docker import [PATH_FILE] [IMAGES_NAME:TAG]
- PATH_FILE:镜像文件路径
- IMAGES_NAME:新镜像名称
- TAG:新镜像标签
docker import /home/data/mycentos.tar.gz mycentos:1.0
3、删除旧容器
docker rm [CONTAINER_NAME|CONTAINER_ID]
- CONTAINER_NAME:容器名称
- CONTAINER_ID:容器ID
docker rm MyCentOS
4、从新镜像运行一个新容器
docker run -it --name [CONTAINER_NAME] -v [HOST_PATH_DIR]:[CONTAINER_PATH_DIR] [IMAGES_NAME] [CMD]
- CONTAINER_NAME:容器名称
- HOST_PATH_DIR:宿主机绝对路径
- CONTAINER_PATH_DIR:容器绝对路径
- IMAGES_NAME:镜像名称
- CMD:运行命令
docker run -it --name MyCentOS -v /var/www:/var/www mycentos:1.0 /bin/bash
评论区