Docker命令集锦教程版

  • 142

Docker命令集锦

docker pull 镜像名称

通过命令下载dockerhub上的官方镜像

例:docker pull centos

docker push username/repository:tag

发布镜像

例:docker push helloworld/repository:hello

docker images

查看当前宿主机的所有镜像

docker images ubuntu

根据仓库名列出镜像

docker images ubuntu 14.04

指定仓库名和标签

docker start 容器名称(或容器ID)

启动容器

例: docker start redis:3.2(或容器ID)

docker restart 容器名称(或容器ID)

重启容器

例: docker restart redis:3.2(或容器ID)

docker stop 容器名称(或容器ID)

停止容器

例: docker stop redis:3.2(或容器ID)

docker attach 容器名或id

进入容器并操作

docker build -t webservice .

表示使用当前目录下的DockerFile来生成镜像,-t参数的值表示镜像的tagname,如果DockerFile在当前路径下则使用.,如果不在当前路径下则使用相对路径。

例:docker build -t helloworld .

docker run -idt -p 2222:22 --name base centos7.1 /bin/bash

表示根据指定的镜像后台运行容器,容器的名字是base(--name就是指定容器的名称),centos7.1表示镜像的名字。

-i参数表示打开STDIN,用于控制台交互。

-d参数指定容器运行与前台还是后台。

-t参数分配tty设备,可以支持终端登录。

-p参数表示当前宿主机的2222端口对应容器的22端口。

以/bin/bash命令进入。

docker ps -a

没有-a参数表示显示当前宿主机的正在运行的容器,加上-a表示显示当前宿主机的所有容器,包括已经退出的容器。

docker exec -it base /bin/bash

以交互式命令进入base容器并且执行/bin/bash命令。

exec Run a command in a running container(在运行的容器中运行命令)

exec -i: --interactive(相互作用的) Keep STDIN open even if not attached(即使没有连接,也要保持STDIN打开)

exec -t:--tty Allocate a pseudo-TTY(分配一个 冒充的终端设备)

例:docker exec -it 6654bc /bin/bash

docker rmi webservice

删除webservice镜像

例:docker rmi 容器id

docker rm base

删除base容器,如果base正在运行,则可以使用docker rm -f base 进行强行删除

例:docker rm 容器id

docker commit -a "runoob.com" -m "my apache" 容器名称或id 打包的镜像名称:标签

将容器打包成镜像

-a :提交的镜像作者;

-c :使用Dockerfile指令来创建镜像;

-m :提交时的说明文字;

-p :在commit时,将容器暂停。

docker save -o helloworld.tar.gz 镜像名称

docker镜像导出,tar镜像可以进行拷贝

例:docker save -o helloworld.tar.gz helloworld

docker load -i helloworld.tar.gz

docker镜像下载

例:docker load -i helloworld.tar.gz

docker cp /home/admin/test.txt mysql-name:/home/admin/mysql/data

docker文件复制,复制宿主机上的文件到容器具体目录下。 mysql-name为容器名称,/home/admin/mysql/data/为需要将文件拷贝在容器的路径地址。

 

docker inspect 容器名称或者容器id 获取容器/镜像的元数据

-f :指定返回值的模板文件。

-s :显示总的文件大小。

-type :为指定类型返回JSON。

例:docker inspect mysql

例:docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mysql 运行mysql的ip

例:docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -q) 获取运行容器的所有ip

例:docker inspect --format='{{.Name}}' $(docker ps -aq) 获取运行容器的名称

例:docker inspect --format '{{ .Config.Hostname }}' `docker ps -q`或 docker inspect --format '{{ .Config.Hostname }}' $(docker ps -q) 获取容器HostName

例:docker inspect --format 'Hostname:{{ .Config.Hostname }} Name:{{.Name}} IP:{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -q) 获取Hostname Name IP

说明:对应格式为 一级属性{{.属性}} 二级属性 {{.属性.属性}} 三级属性 {{.属性.属性.属性}}

docker logs -f 容器名称或者容器id 查看某个容器启动日志

例:docker logs -f redis

docker network ls 查看网络情况

例:docker network ls

docker network create Docker创建自定义网络信息

例:docker network create --driver bridge --subnet=172.16.12.0/16 --gateway=172.16.1.1 mynetwork

--driver: 管理网络的驱动程序(默认“网桥”)。

--subnet: 表示网段(默认值为[])

--gateway: 主子网的IPv4或IPv6网关(默认值为[])

mynetwork 网段名称

docker使用root用户登录容器

docker exec -it --user root containerId /bin/bash

📚文章说明:
1、本文章链接失效后,请通过右下角企鹅QQ告知管理员,24小时内补链接,谢谢。点击下载说明了解。
2、天天精品分享的资源均通过网络公开合法渠道获取的,仅阅读交流测试使用,请在下载后24小时内删除。
3、版权归作者或出版社方所有,本站不对涉及的版权问题负法律责任。点击免责申明了解详情。
4、若版权方认为天天精品侵权,请联系客服QQ或发送邮件myttjp@163.com处理。
5、会员和精品豆系对搜集搬运、整理及网站运营做的友情赞助,非购买文件费用,敬请谅解。点击关于本站了解本站。
6、每位访客应尊重版权方的知识产权,支持版权方和出版社。

发表评论