这里以nginx来做说明
一、下载镜像
docker pull nginx
二、显示本地镜像
docker images
显示结果
$docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 3f8a4339aadd 13 days ago 108 MB
镜像名 镜像标签,主要是用来表示版本 镜像ID 创建时长 镜像大小
三、基于镜像创建容器
docker create --name mynginx nginx:latest
四、显示容器
docker ps显示启动的容器 docker ps -a 显示所有容器
显示结果
$docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a4d3c30b8400 nginx:latest "nginx -g 'daemon ..." 6 minutes ago Up 3 minutes 80/tcp mynginx
容器ID 基于哪个镜像 执行的命令 容器启动时长 状态 使用端口 容器名字
五、启动容器
docker start mynginx
六、停止容器
docker stop mynginx
七、重启容器
docker restart mynginx
八、删除容器
docker rm mynginx
九、常用示例
- 基于镜像创建并启动容器,并把容器放入后台执行
docker run --name mynginx2 -d nginx:latest
2. 基于镜像创建并启动容器,将容器的80端口映射到主机的80端口
docker run -p 80:80 --name mynginx4 -d nginx:latest
3. 使用镜像nginx:latest以后台模式启动一个容器,将容器的80端口映射到主机的80端口,主机的目录/data映射到容器的/data。
docker run -p 80:80 --name mynginx5 -v /data:/data -d nginx:latest
4. 使用镜像nginx:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。
docker run -it nginx:latest /bin/bash
5. 进入容器
docker exec -i -t mynginx /bin/bash
a=docker ps |grep dockerhouse.xiu8.com/nginx:v20 |awk '{print $1}'
|docker inspect -f {{.State.Pid}} $a nsenter --target 10718 --mount --uts --ipc --net --pid
6. 使用容器制作镜像
docker commit -a "weimingliang" -m "docker nginx" cb0ed5e2c33c mynginx:v1
7. 使用Dockerfile制作镜像
使用Dockerfile文件制作镜像,命令就是如下两条,只要的配置在Dockerfile里面
docker build -t runoob/ubuntu:v1 .
docker build -t runoob/ubuntu:v1 -f Dockerfile-http docker build github.com/creack/docker-firefox(使用远程的dockerfile文件)
8. 删除镜像
docker rmi 镜像ID
十、Dockerfile官方文档
https://docs.docker.com/engine/reference/builder/