删除安装包:
sudo apt-get purge docker-ce
删除镜像、容器、配置文件等内容:
sudo rm -rf /var/lib/docker
清理掉所有处于终止状态的容器
sudo docker container prune
使用 docker port bf08bxxx(容器id) 或 docker port namexxx (容器名称) 来查看容器端口的映射情况
使用 docker logs [ID或者名字] 可以查看容器内部的标准输出。
sudo docker logs -f bf08bxxx
-f: 让 docker logs 像使用 tail -f 一样来输出容器内部的标准输出。
使用 docker top 来查看容器内部运行的进程
sudo docker top bf08bxxx(或容器名称)
使用 docker inspect 来查看 Docker 的底层信息。它会返回一个 JSON 文件记录着 Docker 容器的配置和状态信息。
sudo docker inspect bf08bxxx(或容器名称)
使用 docker stop/start bf08bxxx 停止/启动容器
sudo docker ps -l #查询最后一次创建的容器
使用 docker rm 命令来删除不需要的容器
sudo docker rm wizardly_chandrasekhar
删除容器时,容器必须是停止状态,否则会报错。
使用 docker rmi 命令 删除 镜像 ,比如我们删除 ubutun 镜像:
sudo docker rmi ubutun
当我们从 docker 镜像仓库中下载的镜像不能满足我们的需求时,我们可以通过以下两种方式对镜像进行更改。
1、从已经创建的容器中更新镜像,并且提交这个镜像
2、使用 Dockerfile 指令来创建一个新的镜像
更新镜像之前,我们需要使用镜像来创建一个容器。
uos@root:~$ docker run -t -i uos:15.10 /bin/bash
uos@e218ed11ee1:/#
在运行的容器内使用 apt-get update 命令进行更新。
在完成操作之后,输入 exit 命令来退出这个容器。
此时 ID 为 e218ed11ee1 的容器,是按我的需求更改的容器。可以通过命令 docker commit 来提交容器副本。
uos@root:~$ docker commit -m="uos update" -a="zhoubotong" e218ed11ee1 zhoubotong/uos:v2
各个参数说明:
-m:提交的描述信息
-a:指定镜像作者
e218ed11ee1:容器 ID
zhoubotong/uos:v2:指定要创建的目标镜像名
我们可以使用 docker images 命令来查看我们的新镜像 zhoubotong/uos:v2, 这里不再阐述。
使用命令 docker build , 从零开始来创建一个新的镜像。我们需要创建一个 Dockerfile 文件,其中包含一组指令来告诉 Docker 如何构建我们的镜像。
文件不存在请新建:touch Dockerfile
uos@root:~$ cat Dockerfile
FROM centos:6.7
MAINTAINER Fisher "zpt@uniontech.com"
RUN /bin/echo 'root:123456' |chpasswd
RUN useradd uos
RUN /bin/echo 'uos:123456' |chpasswd
RUN /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
EXPOSE 22
EXPOSE 80
CMD /usr/sbin/sshd -D
每一个指令都会在镜像上创建一个新的层,每一个指令的前缀都必须是大写的。
第一条FROM,指定使用哪个镜像源
RUN 指令告诉docker 在镜像内执行命令,安装了什么。。。
然后,我们使用 Dockerfile 文件,通过 docker build 命令来构建一个镜像。
uos@root:~$ docker build -t uos/centos:6.7 .
参数说明:
-t:指定要创建的目标镜像名
.:Dockerfile 文件所在目录,也可以指定Dockerfile 的绝对路径
完后可以使用docker images 查看创建的镜像已经在列表中存在。
使用 docker tag 命令,为镜像添加一个新的标签。
uos@root:~$ docker tag e218ed11ee1 zhoubotong/centos:dev
docker tag 镜像ID,这里是 e218ed11ee1,用户名称、镜像源名(repository name)和新的标签名(tag)。
使用 docker images 命令可以看到,ID为 e218ed11ee1 的镜像多了一个标签。
uos@root:~$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
zhoubotong/centos 6.7 e218ed11ee1 1 hours ago 190.6 MB
zhoubotong/centos dev e218ed11ee1 1 hours ago 190.6 MB
上面大致就介绍这么多了。
来自:https://www.zhoubotong.site/post/68.html
前端开发过程中,少不了自己封装一些通用的包,但又不想放在公共的平台,所以搭建一个npm私有的仓库是很有必要的。在这里简单介绍如何使用 verdoccio 在docker环境下的配置。verdoccio,轻量级私有npm代理注册表。
所以我们可以通过修改docker compose的配置文件来完成我们的需求。熟悉Docker的都应该知道容器运行时其内部会有一个端口以映射到我们外部的端口,我们需要固定的就是这个外部端口。
下载microsoft/dotnet镜像、创建.NET Core MVC项目、上面dotnet restore这一步可能会卡很久遇到超时的状况,因为Nuget在国外的原因,博客园有提供加速镜像,参照设定好之后,速度会快很多
虚拟化和容器化是项目云化不可避免的两个问题。虚拟化由于是纯平台操作,一个运行于linux操作系统的项目几乎不需要做任何改造就可以支持虚拟化。而项目如果要支持容器化则需要做许多细致的改造工作。
Stack Overflow开发人员调查中,开发人员将Docker评为:最受欢迎的平台,最喜欢的平台,最常用的平台。来自世界各地的近90,000名开发人员对调查做出了回应。
Docker中部署tomcat相信大家也都知道,不知道的可以google 或者bing 一下。这里主要是为了记录在我们启动容器之后,tomcat需要直接定位到网站信息,而不是打开域名之后,还得加个blog后缀才能访问到我们的网站首页。
现在一聊到容器技术,大家就默认是指 Docker 了。但事实上,在 Docker 出现之前,PaaS社区早就有容器技术了,以 Cloud Foundry、OpenShift 为代表的就是当时的主流。那为啥最终还是 Docker 火起来了呢?
首先获取ngnix镜像(默认的是最新版),先来编写一个最简单的Dockerfile,一个Dockerfile修改该Nginx镜像的首页.Dockerfile是一个文本文件,其中包含了若干条指令
容器非常适合封装软件,但是有时一味地改造容器镜像以使其尽可能小时,您可能走得太远。我们需要在“简洁”的镜像和无法调试的镜像之间找到很好的平衡。看到人们调试正在运行的容器的正常方法
当我们使用 traefik 反向代理和自动服务发现后,我们对集群内部的服务分为两类:公有服务。如我的博客,网站,以及为它们提供服务的 API。我们可以通过公有的域名去映射服务使得外网能够访问
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!