Docker常用命令

為{幸葍}努か 提交于 2020-01-18 06:51:21

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]

镜像/容器的导入与导出

1. save导出镜像

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/

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!