Docker(一)

摘要:
Docker的优势:1.更高效的利用系统资源。docker-v:查看Docker版本。dockerhistory:查看镜像内的历史记录。dockerdiff:查看修改的内容。使用Dockerfile定制镜像:1.以之前定制nginx镜像为例,这次我们使用Dockerfile来定制。操作Docker容器:启动容器有两种方式:一种:是基于镜像新建一个容器并启动,二种:是将在终止状态的容器重新启动。dockerrestart:命令会将一个运行态的容器终止,然后再重启它。dockerrmwebserve4:删除一个处于终止状态的容器。或者dockerexec-it容器名bash。

Docker的优势:

1.更高效的利用系统资源。不需要运行系统。

2.更快的启动时间。运行在主机内核。

3.一致的运行环境,持续交付和部署。

4.更轻松地拓展和维护。

docker -v :查看Docker版本。

yum remove docker-ce:卸载Docker软件包。

yum remove docker docker-common docker-selinux docker-engine:卸载较老版本的 Docker。

rm -rf /var/lib/docker:手动删除任何已编辑的配置文件。

docker commit:将容器的存储层保存下来成为镜像。

docker pull: 获取镜像的命令。

docker images:查看已经下载的镜像。查看镜像内的历史记录。

docker history:查看镜像内的历史记录。

docker run:运行容器的命令 。

docker diff:查看修改的内容。

使用 Dockerfile 定制镜像:

1.以之前定制nginx镜像为例,这次我们使用 Dockerfile 来定制。

$ mkdir mynginx
$ cd mynginx/
$ touch Dockerfile

2.添加以下内容:

FROM nginx
RUN echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.html

FROM 指定基础镜像,RUN 执行命令。

Docker(一)第1张

从命令的输出结果中,我们可以清晰的看到镜像的构建过程。在Step 2/2中,如同我们之前所说的那样,RUN指令启动了一个容器f3f1e0d41576

执行了所要求的命令,并最后提交了这一层e189d22f23b5,随后删除了所用到的这个容器f3f1e0d41576

操作Docker容器:

启动容器有两种方式:

一种:是基于镜像新建一个容器并启动,二种:是将在终止状态(stopped)的容器重新启动。

新建并启动:主要命令为:docker run。

启动一个 bash 终端,允许用户进行交互。

$ docker run -t -i ubuntu:14.04 /bin/bash
root@af8bae53bdd3:/#
root@af8bae53bdd3:/# pwd
/
root@af8bae53bdd3:/# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var

docker ps:命令可以查看正在运行中的容器

docker ps -a:命令可以查看所有容器

docker start webserve4:启动已经终止的容器。(CONTAINER IDNAMES,来终止一个运行中的容器。)

可以利用docker start命令和上面使用docker ps -a查看到的CONTAINER IDNAMES,直接将一个已经终止的容器启动运行。如图:

Docker(一)第2张

sudo docker run ubuntu:14.04 /bin/sh -c "while true; do echo hello world; sleep 1; done" : Docker在后台运行,不打印日志到宿主机上。。/如果使用了-d参数运行容器,输出结果可以用docker logs 查看。

使用-d参数启动后会返回一个唯一的 id,也可以通过docker ps命令来查看容器信息。

docker logs :获取容器的输出信息。

docker stop webserve4:终止容器。(CONTAINER IDNAMES,来终止一个运行中的容器。)此外,用户通过exit命令或Ctrl+d来退出终端时,所创建的容器立刻终止。

docker restart : 命令会将一个运行态的容器终止,然后再重启它。

docker rmwebserve4:删除一个处于终止状态的容器。

docker rm -f webserve4:删除一个运行中的容器。

docker kill 容器id:杀死id对应容器

sudo docker rm $(sudo docker ps -a -q):#删除所有未运行的容器(已经运行的删除不了,未运行的就一起被删除了)

进入一个容器:docker exec -it 容器ID bash。 或者docker exec -it 容器名 bash。 例如:docker exec -it mysql-zhangl bash

免责声明:文章转载自《Docker(一)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【渗透测试】如何使用burpsuite对特殊密码进行爆破Python读取JSON数据操作实例解析下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

centos8安装docker+phpfpm+alpine+nginx+mariadb

2020-3-31 12:51:44 星期二 记录一下安装过程备忘: 1. 宿主机 centos8 安装docker-ce (可参考centos7的安装方法, 没有太大变化) 2. nginx 直接装在宿主机上, 添加一个域名的配置, 将php文件的请求转发到 172.0.0.1:9700 3. php通过docker的方式安装, 基础镜像选择alpine...

(二)Java数组特性总结,你真的了解数组吗?

一、数组的特殊性 (一)数组标识符是一个引用,指向堆中创建的一个真实对象,这个对象(数组)保存了指向保存其他对象的引用。 (二)数组中保存引用类型时保存的是对象引用,基本数据类型数组保存基本数据的值。 (三)数组的length只表示数组能够容纳多少元素,不能保存实际保存的元素个数。 (四)多维数组可以使用Arrays.deepToString()将多维数组...

Docker中运行MySQL5.7并挂载宿主机目录到镜像

目录 1.1 拉取mysql镜像 1.2 创建用于挂载的目录 1.3 使用镜像创建容器 1.4 命令解析: 1.5 进入容器 正文 回到顶部 1.1 拉取mysql镜像 回到顶部 1.2 创建用于挂载的目录 回到顶部 1.3 使用镜像创建容器 回到顶部 1.4 命令解析: --name:容器名 --p:映射宿主主机端口 -v:挂载...

几个容器网络相关问题的分析和解决总结

【摘要】 网络/容器网络因为其本身的复杂性,以及很多侧重软件开发的童鞋并不熟悉网络,导致和网络/容器网络相关问题的定位、分析和解决都比较困难,很多时 候有无从下手之感。我对最近、再加上以前参与处理了的几个网络/容器网络相关的问题,总结如下,希望能给遇到类似的问题的童鞋一点启发。 目录 1. 目标主机上没有到源主机的路由,导致ping包没有返回 - rout...

Android 本地化适配:RTL(right-to-left) 适配清单

本文首发自公众号:承香墨影(ID:cxmyDev),欢迎关注。 一. 序 越来越多的公司 App,都开始淘金海外,寻找更多的机会。然而海外市场千差万别,无论是市场还是用户的使用习惯,都有诸多的不同。 当你接触一款出海 App 的时候,除了需要了解海外 Google Service 的整个生态圈,还要做好不同语言的适配。语言适配最通用的做法就是根据不同系统...

loki简单安装配置使用

Grafana Loki isa set of components that can be composed into a fully featured logging stack. Unlike other logging systems, Loki is built around the idea of only indexing labels f...