镜像与容器
镜像是根文件系统的打包形式,静态存储在硬盘等设备。
容器由镜像实例化,单个镜像可以实例化多个容器,动态运行在内存设备。
两者的概念有点类似于程序和进程。
镜像的操作
- 加载镜像
docker load -i $image_name
- 卸载镜像
docker rmi $IMAGE_ID
- 镜像重命名和打标签
docker tag $IMAGE_ID $image_name:$tag
容器的操作
- 启动容器(容器后台运行)
docker run -dit --name $container_name $image_name:$tag bash
启动命令支持的选项:
-
端口映射:
-p 9095:80
-
文件/目录映射:
-v /root/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
- 进入容器
docker exec -it $container_name bash
- 重启容器
采用文件映射方式启动的容器如果修改了宿主机上的文件容器中不会自动生效,需要重启加载。
docker restart $CONTAINER_ID
- 停止容器
docker stop $CONTAINER_ID
- 删除容器
docker rm $CONTAINER_ID
- 宿主机与容器的文件交互
docker cp $CONTAINER_ID:<容器路径> <宿主机路径>
docker cp <宿主机路径> $CONTAINER_ID:<容器路径>
- 查询容器信息
docker inspect $CONTAINER_ID
可以查看容器的文件映射和端口映射关系