Docker学习之路(三)

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文件

扫描二维码关注公众号,回复: 5493498 查看本文章
#指定操作的镜像
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
出现此界面就大功告成啦!

猜你喜欢

转载自yq.aliyun.com/articles/693141