docker 容器的运行
docker run 镜像名:版本标签: 创建+ 启动容器
docker run 镜像名 ,如果镜像不存在,则会在线下载镜像。
注意事项:
- 容器内的进程必须处于前台运行状态,不能后台(守护进程运行),自己部署一个容器运行,命令不得后台运行,前台运行即可。
- 容器内至少有一个在前台运行的进程,否则就会挂掉。
示例1:运行一个centos的镜像容器,但是不执行任何操作,执行命令后查询不到docker进程
docker run centos 这个写法会产生容器记录,但是容器内没有跑任何程序,因此容器会挂掉
示例2:在centos镜像中执行一个前台运行的命令
run -it centos ping baidu.com 进入容器并执行 ping命令;
-it 进入容器内部
容器内部在跑 ping的进程,这时候我们就可以看到docker的进程了,容器内部的运行不会影响宿主机
docker 容器在前端跑,会占用一个终端,结束执行关闭终端会导致进程停止
-d 后端运行并返回容器的id
后台执行容器,容器里执行ping命令,可以查询到docker的进程
docker run 可选参数
-d 后台运行
--rm 容器结束后自动删除容器运行记录
--name 给容器取个名字
docker ps -a 查看docker容器运行记录
docker run -d --rm --name hello centos ping baidu.com 后台启动一个叫 hello的容器
查看docker容器日志
docker logs 容器id : 会打印所有日志
docker logs -f 容器id :打印当前并滚动日志
docker logs 容器id | tail -数字 查看当前日志前 "数字"行的日志
进入运行容器空间
命令: docker exec -it 容器id bash
进入容器后可以在容器内部做操作
查看容器信息
docker container inspect 容器id
该命令返回容器的配置信息 json格式
端口映射
docker run -d --name 给容器起个名字 -p 宿主机端口:容器端口 镜像名称
容器的提交
docker commit 容器id 新的镜像名称