Java从坚持到精通-Docker(持续更新中)

1.Docker是如何解决依赖的兼容问题的

1.将应用的Libs(函数库)、Deps(依赖)、配置与应用一起打包,形成可移植的镜像

2.将每个应用放到一个隔离容器去运行,避免互相干扰,其中使用沙箱机制

2.Docker与虚拟机的差异

1.docker是一个系统进程;虚拟机是在操作系统中的操作系统

2.docker体积小、启动快、性能好;虚拟机体积大、启动速度慢、性能一般

3.Docker中的相关名词

镜像(Image):Docker将应用程序及其所需的依赖、函数库、环境、配置文件打包在一起,称为镜像

容器(Container):镜像中的应用程序运行后形成的进程就是容器,只是Docker会给容器做隔离,对外不可见。

DockerHub:DockerHub是一个Docker镜像的托管平台,这样的平台称为Docker Registry

4.如何卸载旧版本Docker

可以使用如下命令卸载docker

5.如何安装docker

首先需要安装必需的yum工具

然后设置yum的镜像源,否则在默认国外的镜像源会很慢,这里设置成阿里的

使用如下命令安装docker社区版

6.关闭防火墙

在学习阶段,建议关闭防火墙。

使用如下命令关闭防火墙并禁止开机启动

systemctl stop firewalld

systemctl disable firewalld

7.启动docker

systemctl start docker

8.查看docker状态

systemctl status docker

如果状态显示active (running) 说明是正常启动的

9.docker配置镜像加速

进入阿里云官网,搜索镜像加速器,按照如下提示即可设置。

10.镜像相关命令

镜像名称一般分为两部分组成:[repository]:[tag]
在没有指定tag时,默认是latest,代表最新镜像

构建镜像:docker build

查看镜像:docker images

删除镜像:docker rmi
具体用法为docker rmi 镜像名称,如下

从服务器拉取镜像:docker pull

推送镜像到服务:docker push

保存镜像为压缩包:docker save
具体参数为docker save -o(output string说明是输出,后面指定输出到的路径)指定镜像名称
如下是一个查看镜像并保存到当前路径的例子:

加载压缩包为镜像:docker load
具体参数为docker load -i(input string表示指定要加载的文件名称)指定文件名称

查看帮助文档:docker --help 或者 docker 具体命令 --help

11.容器相关命令

运行容器:docker run
每个容器的启动命令都是不相同的,需要指定映射端口号之类或者别的配置等,具体需要查看官网:hub-stage.docker.com
如下是一个启动nginx容器的命令:
docker run --name containnerName -p 80:80 -d nginx
命令解读:

  • docker run:创建并运行容器
  • --name:给容器起一个名字,比如mn
  • -p:将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口
  • -d:后台运行容器
  • nginx:镜像名称,例如nginx

容器运行成功后会返回一个唯一id

运行->暂停:docker pause

暂停->运行:docker unpause

运行->停止:docker stop
具体使用:docker stop 加容器名即可

停止->运行:docker start
具体使用:docker start 加容器名即可

查看容器运行日志:docker logs
docker logs 容器名:查看具体某个容器内的日志
docker logs -f 容器名:跟踪容器日志,会展示在前台,动态刷新,-f(follow)

查看所有运行的容器及状态:docker ps

这里我们可以看到容器对应的镜像、创建时间、运行状态、端口映射、名称等信息。
docker ps默认是查看运行中的容器
如果需要查看所有容器则使用docker ps -a

进入容器执行命令:docker exec
举例:docker exec -it mn bash
命令解读:

  • docker exec:进入容器内部,执行一个命令
  • -it:给当前进入的容器创建一个标准输入、输出终端,允许我们与容器交互
  • mn:要进入容器的名称
  • bash:进入容器后执行的命令,bash是一个linux终端交互命令

注意:进入容器内部修改文件是不推荐的,每次修改都是单个容器独有,不共享配置。

删除指定容器:docker rm
docker rm 加容器名即可删除一个未在运行的容器
如果要强制删除,即在运行中的容器也要删除时,可以使用docker rm -f 容器名

  • 43
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值