目录
一.使用docker run命令运行Nginx应用
1.观察下载容器镜像过程
docker run -d nginx:latest
-d 表示在当前终端的后台中运行
nginx:latest 就是最新的nginx版本
执行此命令下载容器镜像
下载过程分三步:1.在本地找镜像,如果没找到则进行第2步;
2.从镜像库中下载镜像 pull from .....
3.解压安装并运行,最后留下容器ID;
查看容器状态
docker ps
容器名称:没有指定就随机取
容器中必须要有运行的命令,没有运行的命令就会被关闭
容器id用于操作容器
2.访问容器中的nginx服务
1.确认容器的ip地址
docker inspect 容器id
如 docker inspect d30b76f20f0f
容器id需要唯一识别容器,不需要全部复制黏贴
2.容器的网络说明
容器id与docker0靠虚拟网卡来通信
docker0与NAT之间有网桥,实现容器与物理机的通信
NAT靠eth0s3与互联网通信
3.访问容器
curl http://172.17.0.3
二.docker命令
官方文档:Reference documentation | Docker Documentation
1.帮助命令
docker -h
某个命令下的选项如
docker run --help
2.docker run
docker run -i -t --name c1 centos:latest bash
命令解释
-i 交互式
-t 提供终端
--name c1 把运行的容器命名为c1
centos:latest 使用centos最新版本容器镜像
bash 在容器中执行的命令
用户,容器id,所处的目录
在容器中执行命令和在物理机中的一样
ip a s (lo是本地回环网卡)
ls a
hostname 主机名
ps aux 查看当前的进程
退出容器
exit
退出容器后容器就停止了,用docker ps看不到需要用
docker ps -all
如果想退出容器并保持容器运行就用以下方法:
在提示符处按住ctrl键,再按p键和q键,可以退出交互式容器,容器会保持运行
3.docker ps
命令解释
docker ps 看运行的
docker ps -all 看停止和运行的
4.docker inspect
命令解释:可以看到容器处于运行状态
docker inspect 容器名字/容器id
5.docker exec
docker exec -it c2 ls /root
命令解释
docker exec 在容器外实现与容器交互执行某命令
-it 交互式
c2 正在运行的容器名称
ls /root 运行的命令
6.docker attach
docker attach c2
命令解释:类似与ssh,进入容器中
退出容器则有两种
exit 退出容器,并且把容器关闭
ctrl + p + q 退出容器,但容器还存在
7.docker stop
docker stop 容器
命令解释:让容器停止下来
8.docker start
docker start 容器
命令解释:和stop相反,把停止的容器开启
9.docker top
docker top 容器
命令解释: 查看容器中运行的进程
10.docker rm
docker rm 容器id/容器名
命令解释:与docker run相反,删除容器
补充命令
docker ps -all | awk '{if (NR>=2){print $1}}' | xargs docker rm
#命令解释: nr>=2是因为第一行是名称,我们不需要;
#命令结果:删除全部容器