docker实用操作

1. 运行容器

docker run --name webserver -d -p 10080:80 nginx

2. 停止容器

docker stop 1705bf486ddd

3. 删除容器

docker rm webserver

4. 显示正在运行的容器

[im@VM_0_2_centos ~]$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                   NAMES
e83c7b8d0aa3        nginx               "nginx -g 'daemon of…"   31 seconds ago      Up 30 seconds       0.0.0.0:10080->80/tcp   webserver

5. 以交互式方式进入容器

docker exec -it webserver bash

6. 进入容器之后,执行:

echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index
外部访问如下:



7. commit命令制作定制镜像

Docker 提供了一个 docker commit 命令,可以将容器的存储层保存下来成为镜像。换句话说,就是在原有镜像的基础上,再叠加上容器的存储层,并构成新的镜像。以后我们运行这个新镜像的时候,就会拥有原有容器最后的文件变化。

docker commit 的语法格式为:
docker commit [选项] <容器ID或容器名> [<仓库名>[:<标签>]]
[im@VM_0_2_centos ~]$ docker commit \
> --author "Tao Wang <[email protected]>" \
> --message "修改了默认网页" \
> webserver \
> nginx:v2
sha256:06907f89b76a737a5ee748e7193a89a17168e578e7438332dcb87e080751b20d
[im@VM_0_2_centos ~]$

8. 查看新定制的镜像

扫描二维码关注公众号,回复: 1847764 查看本文章
docker image ls

9. 查看镜像历史纪录

docker history nginx:v2
用 docker history 具体查看镜像内的历史记录,如果比较 nginx:latest 的历史记录,我们会发现新增了我们刚刚提交的这一层。

10. 运行新定制的镜像

docker run --name webserver2 -d -p 10081:80 nginx:v2

       回顾之前提及的镜像所使用的分层存储的概念,除当前层外,之前的每一层都是不会发生改变的,换句话说,任何修改的结果仅仅是在当前层进行标记、添加、修改,而不会改动上一层。如果使用 docker commit 制作镜像,以及后期修改的话,每一次修改都会让镜像更加臃肿一次,所删除的上一层的东西并不会丢失,会一直如影随形的跟着这个镜像,即使根本无法访问到。这会让镜像更加臃肿。



猜你喜欢

转载自blog.csdn.net/u014042372/article/details/80829859