docker常用命令总结
docker命令总结
运行镜像且进入容器内(交互式)
docker run -it 镜像名 bash 如果镜像不存在,会自动去下载
base 进入容器后执行的命令,base解析器用来解析我们输入的linux命令。
-it 容器交互式使用 bash
[root@localhost ~]# docker run -it ubuntu bash
后台运行
--name my_nginx 起个名字
-d 后台运行
--restart=always 自动重启
--rm 退出容器后自动删除
需求:nginx起个别名,后台运行,失败后自动重启,宿主机87端口映射到80端口
[root@localhost ~]# docker run --name my_nginx_7070 -d --restart=always -p 7070:80 nginx d29036544b29ac60903363cfa85a8412e8de6b6a3df36178ec7bcae9b52f9285 [root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d29036544b29 nginx "/docker-entrypoint.…" About a minute ago Up About a minute 0.0.0.0:7070->80/tcp, :::87->80/tcp my_nginx_7070
浏览器输入:http://192.168.3.10:7070/
docker run启动容器的时候,docker后台操作流程是:
- 检查本地是否有该镜像,没有就下载
- 利用镜像创建且启动一个容器
- 分配容器文件系统,在只读的镜像层挂载读写层
- 宿主机的网桥接口会分配一个虚拟接口到容器中
- 容器获得地址池里的IP地址
- 执行用户指定的程序
- 若程序里没有进程在运行,容器执行完毕后立即终止
查看日志
docker logs -f 容器id
-f 实时刷新
[root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ec3df395a544 nginx "/docker-entrypoint.…" 14 minutes ago Up 14 minutes 0.0.0.0:7070->80/tcp, :::7070->80/tcp my_nginx_7070 [root@localhost ~]# docker logs -f ec3df395a544
查看运行时,以及挂掉的容器记录
docker ps 在运行的容器
docker ps -a 挂掉以及活着的容器
启动停止
docker start 、docker stop
进入容器内
docker exec -it 容器id bash
删除容器
docker rm 容器id
docker rm `docker ps -aq`
# 强制杀死容器
docker rm -f 容器id
# 查看容器内进程资源信息的命令
docker top 容器id
# 查看容器内资源
docker stats 容器id
# 查看容器的具体信息
docker inspecet 容器id