- A+

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
- 我的微信
- 加好友一起交流!
-
- 微信公众号
- 关注公众号获取分享资源!
-