镜像和容器的基本操作

  获取镜像

获取镜像

运行

快速开发平台有了镜像后,我们就能够以这个镜像为基础启动并运行医个容器。以上面的 ubuntu:16.04 为例,如果 我们打算启动里面的 bash 并且进行交互式操作的话可以执行下面的命令
$ docker run -it --rm \
ubuntu:16.04 \
/bin/bash
root@e7009c6ce357:/# cat /etc/os-release
NAME="Ubuntu"
VERSION="16.04.4 LTS, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.4 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"

运行容器命令

列出镜像:

列出镜像

新建并启动

新建并启动


启动已终止容器

可以利用 docker container start 命令,直接将一个已经终止的容器启动运行。

容器的核心为所执行的应用程序,所需要的资源都是应用程序运行所必需的。除此之外,并没有其它 的资源。可以在伪终端中利用 ps 或 top 来查看进程信息。

 root@ba267838cc1b:/# ps  PID TTY TIME CMD 1 ? 00:00:00 bash  11 ? 00:00:00 ps 

可见,容器中仅运行了指定的 bash 应用。这种特点使得 Docker 对资源的利用率极高,是货真价实的 轻量级虚拟化。

后台运行

后台运行

终止容器

终止容器

进入容器

进入容器


$ docker run -dit ubuntu:16.04
69d137adef7a8a689cbcb059e94da5489d3cddd240ff675c640c8d96e84fe1f6
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS
PORTS NAMES
69d137adef7a ubuntu:16.04 "/bin/bash" 18 seconds ago Up 17 secon
ds zealous_swirles
$ docker exec -i 69d1 bash
ls
bin
boot
dev
...
$ docker exec -it 69d1 bash
root@69d137adef7a:/#

删除容器:

删除容器

删除本地镜像:

删除本地镜像

$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SI
ZE
centos latest 0584b3d2cf6d 3 weeks ago 19
6.5 MB
redis alpine 501ad78535f0 3 weeks ago 21
.03 MB
docker latest cf693ec9b5c7 3 weeks ago 10
5.1 MB
nginx latest e43d811ce2f4 5 weeks ago 18
1.5 MB

删除本地镜像

docker commit定制镜像

定制镜像
$ docker diff webserver
C /root
A /root/.bash_history
C /run
C /usr
C /usr/share
C /usr/share/nginx
C /usr/share/nginx/html
C /usr/share/nginx/html/index.html
C /var
C /var/cache
C /var/cache/nginx
A /var/cache/nginx/client_temp
A /var/cache/nginx/fastcgi_temp
A /var/cache/nginx/proxy_temp
A /var/cache/nginx/scgi_temp
A /var/cache/nginx/uwsgi_temp

保存形成的镜像

我们还可以用 docker history 具体查看镜像内的历史记录,如果比较 nginx:latest 的历史记录,我们

会发现新增了我们刚刚提交的这一层。

$ docker history nginx:v2 IMAGE CREATED CREATED BY SI ZE COMMENT 07e334659748 54 seconds ago nginx -g daemon off; 95 B 修改了默认?? e43d811ce2f4 4 weeks ago /bin/sh -c #(nop) CMD ["nginx" "-g" "daemon 0 B <missing> 4 weeks ago /bin/sh -c #(nop) EXPOSE 443/tcp 80/tcp 0 B <missing> 4 weeks ago /bin/sh -c ln -sf /dev/stdout /var/log/nginx/ 22 B <missing> 4 weeks ago /bin/sh -c apt-key adv --keyserver hkp://pgp. 58 .46 MB <missing> 4 weeks ago /bin/sh -c #(nop) ENV NGINX_VERSION=1.11.5-1 0 B <missing> 4 weeks ago /bin/sh -c #(nop) MAINTAINER NGINX Docker Ma 0 B <missing> 4 weeks ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0 B <missing> 4 weeks ago /bin/sh -c #(nop) ADD file:23aa4f893e3288698c 12

运行镜像

本站文章除注明转载外,均为本站原创或翻译,欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,共创和谐网络环境。
转载请注明:文章转载自:快速开发框架 » 镜像和容器的基本操作
本文标题:镜像和容器的基本操作
 
posted @ 2021-03-24 11:28  码上的飞鱼  阅读(67)  评论(0)    收藏  举报