Docker的基础使用
获取镜像
-
获取镜像的命令时使用
docker pull
docker pull [option] [docker registry add:port/仓库名:标签]
-
Docker的运行
docker run --it --rm dockername
- 参数说明
-
-it
这是两个参数,i是交互式操作,t时是终端 -
--rm
容器退出后随之删除
-
镜像和容器操作
- 查看已经下载的镜像
docker image ls
-
docker system df
#查看镜像容器、数据卷所占用的空间
- 删除虚悬镜像
- 镜像没有仓库名、标签,均被标记未none,这类镜像可以删除
-
docker img ls -f dangling=true
#可以使用该命令显示虚悬镜像 -
docker image prune
# 删除虚悬镜像
- 删除本地镜像、容器
-
docker image rm [option] id
# 删除镜像 -
docker container rm id
# 删除容器 -
docker container prune
#删除所有处于终止状态的容器 -
docker container stop id
#终止容器
-
- 导入和导出容器
-
docker container ls -a
#显示所有的容器 -
docker export container_id > path/
#导出到本地 -
docker import
ordocker load
# 前者从容器快照中导入,后者时镜像存储文件,容器快照将丢弃所有的历史记录和元数据,同时需要重新指定标签等元数据
-
容器互联
- 新建网络
-
docker network create -d bridege dock-br
-
-d
指定docker网络类型,有bridge
overlay
-
-
- 连接容器,运行一个容器,并连接到新建的dock-br网络
docker run -tt --rm --name dockname --network docker-br docker1
- 运行另一个容器,并连接到新建的dock-br网络
docker run -it --rm --name dockername2 --network docker-br docker2
进入容器
- 进入容器常用的命令是
docker exec
,常用的参数是dit
-
-d
容器启动时进入后台 -
-i
交互式操作,没有终端 -
-t
分配终端
-
- 进入nginx容器
- 启动一个新的容器
docker run --name t-nginx -d -p 80:80 nginx
- 进入容器
t-nginx
docker exec -it t-nginx /bin/bash/
# 打开bash,可以执行ls、cd等命令
- 启动一个新的容器
配置容器DNS
-
配置全部容器的DNS可以通过修改文件
/etc/docker/daemon.json
{ "DNS" : ["dns_name1","dns_name2"] }
Docker网络配置
- 容器如果要访问外部网络,需要本地系统的转发和支持,检查系统是否支持,可以使用以下命令:
-
sysctl net.ipv4.ip_forward
# 如果状态为1则支持 -
sysctl -w net.ipv4.ip_forwared=1
# 开启
-