Docker常用命令总结
基础命令
1.查看镜像列表
docker images
2.查看运行中的所有容器
docker ps -a
3.从dockerhub拉取指定镜像
docker pull [images]:[version]
4.后台启动docker,并指定宿主机端口和docker映射端口。
docker run -p 8000:80 -tdi --privileged[imageID][command]
-i:以交互模式运行容器,通常与 -t 同时使用;
-d:后台运行容器,并返回容器ID;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--privileged 容器将拥有访问主机所有设备的权限
通常情况下 [command] 填下/bin/bash即可。
特殊情况下,如需要在centos镜像中使用systemctl. 则应添加--privileged并设置[command ]为init。
5.进入终端交互模式。
sudo docker exec -it [containerID] /bin/bash
当镜像通过run 启动后,便会载入(创建)一个动态的container中运行。
交互模式中,使用ctrl+p+q退出交互 保持运行,使用 exit命令退出并停止容器。
6.在容器非交互模式下,启动/停止已部署的容器服务。
docker start/stop [containerID]
7.删除容器
docker rm [containerID]
8.删除镜像
docker rmi [imageID]
9. 将宿主机内的指定文件传输至容器内部的指定地址。
docker cp [YourHostFilePath] [containerID]:[DockerPath]
镜像制作
1.将容器重新打包成镜像。
docker commit [containerID] [ImageName]:[Version]
eg:docker commit -a "rockhan.com" -m "my bird" a7c7d556d7a8 Centos7:v1
将容器a7c7d556d7a8 保存为新的镜像,并添加提交人信息和说明信息。
-a:提交的镜像作者。
-c:使用Dockerfile指令来创建镜像。
-m:提交时的说明文字。
-p:在commit时,将容器暂停。
2.提交镜像到云仓库
docker push [ImageID] [repertory_address]
镜像/容器的导入与导出
docker save [options] images [images...]
举例:
docker save -o nginx.tar nginx:latest
或
docker save > nginx.tar nginx:latest
其中-o和>表示输出到文件,nginx.tar为目标文件,nginx:latest是源镜像名(name:tag)
2.load导入镜像
docker load [options]
举例
docker load -i nginx.tar
或
docker load < nginx.tar
其中-i和<表示从文件输入。会成功导入镜像及相关元数据,包括tag信息
3.export导出容器
docker export [options] container
举例
docker export -o nginx-test.tar nginx-test
其中-o表示输出到文件,nginx-test.tar为目标文件,nginx-test是源容器名(name)
4.import导入容器
docker import [options] file|URL|- [REPOSITORY[:TAG]]
举例
docker import nginx-test.tar nginx:imp
或
cat nginx-test.tar | docker import - nginx:imp
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
更多计算机相关知识:https://blog.csdn.net/baidu_41647119
GitHub:https://github.com/birdhan/