Docker学习之路(三)

简介: 解决方法: yum install device-mapper-event-libs 然后重启docker服务 service docker restart 注意:此命令需要操作两次,第一次会重启失败 docker已经运行镜像删除方法 停止所有的container,这样才能够删除其中的image.

docker

解决方法:

yum install device-mapper-event-libs

然后重启docker服务

service docker restart

注意:此命令需要操作两次,第一次会重启失败

docker已经运行镜像删除方法

  1. 停止所有的container,这样才能够删除其中的images:
docker stop $(docker ps -a -q)

如果想要删除所有container的话再加一个指令:

docker rm $(docker ps -a -q)
  1. 查看当前有些什么images
docker images
  1. 删除images,通过image的id来指定删除谁
docker rmi <image id>

想要删除untagged images,也就是那些id为的image的话可以用

docker rmi $(docker images | grep "^<none>" | awk "{print $3}")

要删除全部image的话

docker rmi $(docker images -q)

Dockerfile制作镜像实例

下载jdk、tomcat安装包,上传/usr/local/soft目录下

jdk1.8下载:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

tomcat8下载:https://tomcat.apache.org/download-80.cgi

1. tar -zxvf apache-tomcat-8.5.38.tar.gz #解压tomcat
2. tar -zxvf jdk-8u201-linux-x64.tar.gz #解压jdk
3. rm -rf apache-tomcat-8.5.31.tar.gz #删除安装包
4. rm -rf jdk-8u171-linux-x64.tar.gz #删除安装包
5. touch Dockerfile #创建文件

一系列操作完成后 soft文件夹内容
image
接下来编写dockerfile文件

#指定操作的镜像
FROM centos
# 维护者信息
MAINTAINER shuai
#将jdk1.8.0_171添加到镜像centos的/usr/local/soft/目录下,并命名为jdk
ADD jdk1.8.0_201 /usr/local/soft/jdk
#将apache-tomcat-8.5.31添加到镜像centos的/usr/local/soft/目录下,并命名为tomcat
ADD apache-tomcat-8.5.38 /usr/local/soft/tomcat
#添加环境变量
ENV JAVA_HOME /usr/local/soft/jdk
ENV CATALINA_HOME /usr/local/soft/tomcat
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
#暴露8080端口
EXPOSE 8080
#启动时运行tomcat
CMD ["/usr/local/soft/tomcat/bin/catalina.sh","run"]

FROM : 指定基础镜像,并且必须是第一条指令

重点:此命令不可省略,然后如果docker容器中没有centos镜像,此操作会默认产生一个centos镜像


image

MAINTAINER : 指定作者

RUN : 运行指定的命令

ADD : 复制命令,把文件复制到镜像中。

ENV : 设置环境变量

EXPOSE : 功能为暴漏容器运行时的监听端口给外部

CMD : 指定容器启动时运行的命令

构建Docker镜像

docker build -t repostory/centos_tomcat .

注意:后面的点不要省略
-t 设置tag名称, 命名规则registry/image:tag(若不添加版本号,默认latest)
. 表示使用当前目录下的Dockerfile文件(注意语句后面有一个点)

启动镜像访问

docker run -d -p 8080:8080 --name Icentos repostory/centos_tomcat

-d 后台运行

-p 端口映射 宿主机port : 容器port

--name 指定容器运行名称

接下来在浏览器中输入地址查看成功与否
image
出现此界面就大功告成啦!

目录
相关文章
|
6月前
|
运维 虚拟化 开发者
Docker-全面详解(学习总结---从入门到深化)
Docker-全面详解(学习总结---从入门到深化)
107 1
|
6月前
|
分布式计算 Java Linux
【深入浅出Docker原理及实战】「原理实战体系」零基础+全方位带你学习探索Docker容器开发实战指南(Dockerfile使用手册)
Docker 是一套构建在 Linux 内核之上的高级工具,旨在帮助开发人员和运维人员更轻松地交付应用程序和依赖关系,实现跨系统和跨主机的部署。使用安全且轻量级的容器环境来实现这一目标。容器可以手动创建,也可以通过编写 Dockerfile 自动创建。开发人员和运维人员可以将应用程序及其依赖打包到容器中,实现应用程序的可移植性和环境一致性。
248 5
【深入浅出Docker原理及实战】「原理实战体系」零基础+全方位带你学习探索Docker容器开发实战指南(Dockerfile使用手册)
|
15天前
|
存储 Ubuntu Linux
学习docker
学习docker
25 1
|
17天前
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
134 3
|
20天前
|
运维 Kubernetes 开发者
Docker Swarm学习
【10月更文挑战第5天】
29 3
|
24天前
|
Kubernetes Linux 持续交付
docker容器学习
【10月更文挑战第1天】
31 1
|
2月前
|
存储 Ubuntu Docker
Docker学习
Docker学习
59 4
|
29天前
|
Linux 应用服务中间件 Shell
docker学习--docker容器镜像常用命令大全(简)
本文档详细介绍了Docker中的镜像命令与容器管理命令。镜像命令部分涵盖了镜像搜索、下载、上传等操作;容器管理命令则包括了容器的创建、启动、停止、删除及日志查看等功能。通过具体示例,帮助用户更好地理解和使用Docker相关命令。
126 0
|
29天前
|
Shell 应用服务中间件 nginx
docker学习--最详细的docker run 各子命令解释与应用
`docker run` 是 Docker 中用于启动容器的基本命令。常用子命令包括 `-i`(交互模式)、`-t`(分配终端)、`-d`(后台运行)、`-p`(端口映射)、`--name`(指定容器名)。例如,`docker run -it nginx:1.20 /bin/bash` 可以创建并进入交互式容器。使用 `-d` 可在后台运行容器,`-p` 可将容器端口映射到主机端口,`--name` 则用于自定义容器名称以便管理。
|
3月前
|
网络协议 Shell Docker
docker 学习之路
docker 学习之路
32 1