栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Docker从安装到入门

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Docker从安装到入门

一、环境介绍

Windows、 VMware15 、Centos7.3(虚拟机)内核版本3.10.0-514.el7.x86_64

docker安装要求内核版本需要3.10及以上。

 

二、安装过程

 1、查看内核版本

uname -r

2、安装管理repository及扩展包的工具、为的是安装yum-config-manager

yum-config-manager命令是对资源库(/etc/yum.repos.d/下的文件)进行增删改查

yum -y install yum-utils

 3、修改docker的源指向阿里的源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4、更新yum源

yum update

输入y确认、等待升级和更新

 5、安装Docker必要的安装包

yum install -y  device-mapper-persistent-data lvm2

 6、查看源中所有的版本信息

yum list docker-ce --showduplicates | sort -r

 

 7、安装最新稳定版

yum install docker-ce

中间输入y确定安装 

 输入两次y确认密钥

8、安装指定版本(非必须)

yum install docker-ce-17.12.0.ce

9、卸载docker(非必须)

yum remove docker-ce
rm -rf /var/lib/docker

三、docker常用命令

 1、查看docker版本

docker --version

 

2、启动docker

systemctl start docker

 3、停止docker

systemctl stop docker

 4、查看docker服务运行状态

systemctl status  docker

 5、设置开机启动

systemctl enable docker

 6、运行docker的hello-world

        6.1、使用docker pull获取镜像

docker pull hello-world

 

        6.2、启动容器 

docker run hello-world

7、查看镜像信息

docker images

 

 8、查看容器信息

9、删除容器(容器ID可以简写、例如容器ID为:8591732809d0 可以写为8591写前几位即可)

docker rm 容器ID(ConTAINER ID)

 10、删除镜像(镜像ID可以简写、例如镜像ID为:feb5d9fea6a5可以写为feb写前几位即可)

docker rmi 镜像ID(IMAGE ID)

 四、SpringBoot项目打包成镜像运行

1、 示例工程、代码配置如图、打成jar包后打包镜像

 2、编写Dockerfile文件、将jar包和Dockerfile文件上传到虚拟机中

 Dockerfile文件内容

FROM:

所有Dockerfile都必须以FROM命令开始。 FROM命令会指定镜像基于哪个基础镜像创建,接下来的命令也会基于这个基础镜像。

ADD:

ADD:复制文件指令。它有两个参数。destination是容器内的路径。source可以是URL或者是启动配置上下文中的一个文件。

EXPOSE:

指定容器在运行时监听的端口。

VOLUME:

授权访问从容器内到主机上的目录。

 RUN:

在shell或者exec的环境下执行的命令。RUN指令会在新创建的镜像上添加新的层面,接下来提交的结果用在Dockerfile的下一条指令中

ENV:

设置环境变量。它们使用键值对,增加运行程序的灵活性。

ENTRYPOINT:

配置给容器一个可执行的命令,这意味着在每次使用镜像创建容器时一个特定的应用程序可以被设置为默认程序。同时也意味着该镜像每次被调用时仅能运行指定的应用。类似于CMD,Docker只允许一个ENTRYPOINT,多个ENTRYPOINT会抵消之前所有的指令,只执行最后的ENTRYPOINT指令

FROM java:8
EXPOSE 8808
VOLUME /slm
ADD hello.jar hello.jar
RUN sh -c 'touch /hello.jar'
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /hello.jar" ]

3、打包成镜像(v1后面有个空格和点)

docker build -t boot-hello:v1 .

 4、启动打包的镜像

-d (后台运行) -p(端口映射) 宿主机端口:容器端口 镜像名:版本号

docker run -d -p 8080:8808 boot-hello:v1

  

 5、查看启动日志

# -f 实时滚动查看
docker logs -f b4

6、访问宿主机的IP和端口和URL查看结果

五、问题记录

问题:
Error response from daemon: conflict: unable to delete feb5d9fea6a5 (must be forced) - image is being used by stopped container 1e7575733a2d
结果分析:
这是由于要删除的目标镜像中有容器存在,故无法删除镜像。
解决办法:
先删除镜像中的容器,再删除该镜像。 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/300568.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号