docker 常用命令

特别注意:部署完项目,检查相应服务端口是否已在防火墙打开,否则访问不到

修改完要重启防火墙

//重启命令:

firewall-cmd --reload

//查看已开放的端口
firewall-cmd --list-ports

//开放端口
firewall-cmd --zone=public --add-port=端口号/tcp --permanent

连续端口可以这样写:

firewall-cmd --zone=public --add-port=21115-21119/tcp --permanent
还有udp端口:

firewall-cmd --zone=public --add-port=21116/udp --permanent

-----------------------------------------------------------

---进入容器

1.对大多数容器:

docker exec -it 容器名或容器id /bin/bash

2.如果上述命令报错OCI runtime exec failed: exec failed: unable to start container process: exec: "bash": executable file not found in $PATH: unknown,则此容器底层使用alpine制作,所以要用:

docker exec -it 容器名或容器id /bin/sh

 

//查看容器
docker ps
//查看所有的容器
docker ps -a
//删除容器
docker rm id

//查看镜像

docker images

//更改 名称
docker tag ${当前名称} ${需要的名称}

// docker 导出s
docker save -o //存放地址 镜像名称

例子:docker save java:8 -o java.tar #将java 8的镜像导出成tar文件
// 导入目录
docker load -i

例子:docker load -i java.tar

 
 //容器开机启动
 docker update --restart=always 容器id

--restart=参数值详解:
no:默认值,表示Docker容器停止时不自动启动容器
on-failure:表示若Docker容器退出状态非0,则自动重启,还可以指定重启次数,超过次数则不再启动
always:表示只要Docker容器为非运行状态,则自动启动容器

//查看挂载数据卷
docker volume ls
//清除数据卷
docker volume prune
//查看数据卷的位置
docker volume inspect html
//删除映像文件
docker rmi ${Id}

//docker build -t ${Name} .

//查看目录
find / | grep /network/admin


查看指定时间后的日志,只显示最后100行:

$ docker logs -f -t --since="2018-02-08" --tail=100 CONTAINER_ID


查看最近30分钟的日志:
$ docker logs --since 30m CONTAINER_ID


查看某时间之后的日志:

$ docker logs -t --since="2018-02-08T13:23:37" CONTAINER_ID
查看某时间段日志:

$ docker logs -t --since="2018-02-08T13:23:37" --until "2018-02-09T12:23:37" CONTAINER_ID

// 运行时,允许访问外网, -p 可以映射多个 -p
docker run -d --net=host --name ${dockername}  -v ${本地地址}:${dockerPath} ${imageName} --restart=always

-d代表后台运行,

 

据我所知,--net=host(使用宿主机的网络,注意容器端口不要与宿主机其他已使用端口重复,否则会冲突报错) 仅适用于 Linux,它让 hbbs/hbbr 可以看到对方真实的ip, 而不是固定的容器ip (172.17.0.1)。 如果–net=host运行正常,-p选项就不起作用了, 可以去掉。

--rm 在容器退出时删除 容器及数据, 不要与-d一起使用,没有意义

 

posted @ 2022-09-26 10:57  dirgo  阅读(50)  评论(0编辑  收藏  举报