docker常用命令
将一个服务器的环境打包成一个镜像来达成可以迁移环境的目的。
镜像相关命令(images)
1.docker pull xxx
:拉取一个镜像
2.docker images
:列出所有的镜像
3.docker image rm xxx
或者docker rmi xxx
:删除一个镜像xxx
4.docker [container] commit CONTAINER IMAGE_NAME:TAG
:创建某个container
镜像
5.docker save -o xxx.tar xxx
:将xxx
镜像到处到本地文件xxx.tar
中
- 保存为
xxx.tar
之后,只能自己可读可写。一般情况下,我们需要给它加上给别人的可读的权限。然后使用scp
传送给别人。
6.docker load -i xxx.tar
:将镜像xxx
从本地文件xxx.tar
中加载出来
容器相关命令(container)
1.docker [container] create -it xxx
:利用镜像xxx
创建一个容器
- 注意
[container]
是可以省略不写的,但是也可以写成docker container creater -it xxx
2.docker ps -a
:查看本地的所有容器
3.docker [container] start CONTAINER
:启动容器
- 这里的
CONTAINER
可以使用容器的id
或者使用容器的名字
4.docker [container] stop CONTAINER
:停止容器
5.docker [container] restart CONTAINER
:重启容器
6.docker [container] run -it CONTAINER
:创建并启动并且进入一个容器
7.docker [container] run -itd CONTAINER
:创建并启动一个容器
8.docker [container] attach CONTAINER
:进入一个容器
- 注意只有一个开启的容器才可以进入
9.ctrl + p, ctrl + q
:可以挂起容器
- 注意:
ctrl + d
是关闭一个容器
10.docker [container] exec CONTAINER COMMAND
:在容器中执行命令
11.docker [container] rm CONTAINER
:删除容器
- 删除的容器一定是已经停止的。如果一个容器是启动的话,需要先执行
docker stop CONTAINER
使得容器先停止,然后才可以删除容器。
12.docker container prune
:删除所有已经停止的容器
13.docker export -o xxx.tar CONTAINER
:将容器CONTAINER
导出到本地文件xxx.rar
中
14.docker import xxx.tar imagesname:tag
:将本地文件xxx.tar
导入成镜像,并将镜像命名成为imagesname
,并设置tag
- 注意
docker export/import
与docker save/load
的区别:export/import
会丢失历史记录和元数据信息,仅保存容器当时的状态。如果想要使用容器生成的镜像生成容器的话,需要更换端口号save/load
会保存完整记录,体积庞大
15.docker top CONTAINER
:查看某个容器内的所有进程
- 只有一个容器被启动了才可以查看容器内的进程信息和其他的信息
16.docker stats
:查看所有容器中的统计信息
17.docker cp xxx CONTAINER:xxx
或者docker cp CONTAINER:xxx xxx
:在服务器和容器之间复制文件
18.docker rename CONTAINER1 CONTAINER2
:重命名容器
19.docker update CONTAINER --xxx xxx
:修改容器的限制
- 这里的xxx可以是内存,宽带等,这里可以自己查
实操命令
1.scp 镜像名 服务器名
:将一个镜像传送到一个服务器上
2.ssh 服务器
:登录到自己的服务器上
- 有关
ssh
的命令可以参考ssh
的常用命令
3.docker load -i 镜像名
:将镜像加载到本地,生成容器
4.docker run -p xxxx:xx --name 容器重命名 -itd 容器名
:在将xx
端口号映射到xxxx
上,并且重命名。最后创建并启动容器。
5.docker attach 容器名
:登录到容器中
6.passwd
:给容器中的root
用户创建一个密码