docker高级使用

PS: 你可以把镜像理解为一个Java类,而容器则是这个类创建的一个实例。

查询镜像

1
2
# 搜索跟centos相关的镜像
docker search centos

拉取镜像

1
docker pull centos

启动容器

1
docker run -dit -name 容器名 镜像名 /bin/bash

端口映射

1
2
 #本地端口:容器端口 
docker run -dit -p 8080:8080 --name 容器名 镜像名 /bin/bash

进入容器

1
docker exec -it 容器名 /bin/bash

查看容器日志

1
docker logs -f 容器名

查看容器的IP地址

1
docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名

推送镜像

1
2
# username为你docker账号的用户名
docker push username/ubuntu:17.10

查看容器信息

1
docker inspect 容器名

删除全部容器

1
docker stop $(docker ps -q) & docker rm $(docker ps -aq)

删除镜像

1
docker rmi 镜像id

创建一个docker网络

1
docker network create -d bridge my-net

运行一个容器并连接到新建的网络

1
docker run -it --name 容器名 --network my-net 镜像名 /bin/bash

挂载本地目录

1
2
# 将当前目录,挂载到容器的/app/demo目录中 
docker run -it -d --name 容器名 -v ./:/app/demo 镜像名 /bin/bash

保存镜像

1
docker save alpine | gzip > alpine-latest.tar.gz

加载保存的镜像

1
docker load -i alpine-latest.tar.gz

导出容器

1
docker export 7691a814370e > ubuntu.tar

从容器快照中导入为镜像

1
cat ubuntu.tar | docker import - test/ubuntu:v1.0

清理所有处于终止状态的容器

1
docker prune
-------------本文结束感谢您的阅读-------------