Docker的一些常用命令
本文环境:
- docker v24.0.6
常用命令
-
首先查看已有的镜像文件:
docker images -
将镜像打包成本地文件
docker save [镜像id] > [文件名.tar] docker save -o [文件名.tar] [镜像id]ps:第一行和第二行分别是两种方式
-
在另一台主机加载本地文件到镜像
docker load < 文件名.tar docker load -i 文件名.tar同上
-
镜像重命名
docker tag 镜像id 镜像名:标签标签可以是容器的版本号
-
删除镜像
docker rmi 镜像id -
创建容器
docker run -it --name [指定一个用于与其它容器区分的name] -it -
启动/关闭容器
docker start/stop 容器id -
退出容器
ctrl D exitps:两种方式均可
-
列出所有在运行的容器
docker ps -
列出所容器
docker ps -a -
容器内文件或文件夹和宿主机之前相互传递
docker cp 容器id:/var/.. /home/..宿主机目录 -
要保存对一个docker容器的改动怎么办?
commit 上面用的save和load用于把已经存在的镜像在服务器之间搬运,而对一个容器做了改动之后,可以通过commit命令把容器生成成镜像,然后就可以通过save和load搬运了 docker commit [容器id] [起一个镜像名] -
docker run 之后生成的container不是root权限?
如果执行docker run 是root用户执行的,生成的container不是root的话,在docker run时加参数:-u root -
docker tag 如果我通过docker save存出来一个image,load到另一台机器的话,可能load出来的image的repository和tag都是none
所以用docker tag给它标记 docker tag imageID 名字:tag -
关于docker exec进入容器
一般是,docker exec -it 容器名或id bash -it很重要,如果不加的话其实执行完这条命令就退出容器了 bash其实就是进入容器使用的命令,就相当于dockerfile里最后那个CMD命令,就是说CMD命令是可以在docker run或exec的时候替换最后的bash的。
Comments