docker基础学习

一、docker基础操作

Docker 要求 Ubuntu 系统的内核版本高于 3.10

通过 uname -r 命令查看你当前的内核版本

makefile

例如:创建一个makefile文件(制作springboot项目运行的docker镜像_跟派大星学编程-CSDN博客_制作springboot镜像https://blog.csdn.net/junmoxi/article/details/79996524

1、创建文件夹 cmd

sudo mkdier cmd

2、在cmd文件里创建makefile文件

sudo touch makefile

内容如下:

FROM ubuntu
MAINTAINER tan
COPY jdk1.8.0_151 jdk1.8.0_151
COPY web web
RUN chmod 777 ./web/WEB-INF/*
ENV JAVA_HOME=/jdk1.8.0_151
ENV PATH=$JAVA_HOME/bin:$PATH
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
EXPOSE 7070
ENTRYPOINT ["nohup","./web/WEB-INF/startup_dev.sh","&"]

3、编译并生成镜像 (. 表示当前路径) 

docker build -t mirrorweb:v1.0 .

   mirrorweb 生成的镜像名称

    v1.0 镜像版本号

4、从镜像中启动容器

docker run --net=host -e JAVA_OPTS='-Xms128m -Xmx256m -Dspring.profiles.active=prod' -p 8080:8080 -t -d mirror:v1.0

5、查看容器运行日志

docker logs命令

docker logs [options] [容器]

例如:打印容器mytest应用后10行的内容

docker logs --tail="10" mytest

实时打印:

docker attach [容器]

名字

默认值

描述

–details

显示提供给日志的额外细节

–follow或-f

按日志输出

–since

从某个时间开始显示,例如2013-01-02T13:23:37

–tail

all

从日志末尾多少行开始显示

–timestamps或-t

显示时间戳

–until

打印某个时间以前的日志,例如 2013-01-02T13:23:37

6、maven打包镜像

mvn package docker:build

二、ubuntu中使用脚本安装docker

1、获取最新版本的 Docker 安装包

    wget -qO- https://get.docker.com/ | sh

2、启动docker 后台服务

     sudo service docker start

3、测试运行hello-world

     docker run hello-world

4、查看正在运行的容器

     docker ps

5、查看已经退出的容器

    docker ps -a

6、删除容器

    docker rm [容器ID]

7、删除镜像(想要删除运行过的images必须首先删除它的container)

   docker rmi [镜像ID]

   docker rmi 镜像名:tag

8、进入容器

   docker exec -it [容器ID] /bin/bash

   docker exec -it --user root [容器ID] /bin/bash (root权限进入)

9、退出容器

    ctrl+d

10、把主机文件拷贝到容器的某个目录下

    docker cp [filepath in master] [container name]:[path in container]

11、查看容器详情

    docker inspect [容器ID]

12、查看docker 网络

    docker network ls

三、docker开启远程API

ubuntu中

1、修改dokcer配置文件

vim /lib/systemd/system/docker.service

2、修改ExecStart配置

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock

3、保存

service docker restart

若出现如下警告,请执行systemctl daemon-reload后再重启docker

4、在浏览器中访问 http://ip:4243/images/json 成功及说明开启成功

四、docker导入导出

        镜像保存/载入:docker load/docker save;

       将一个镜像导出为文件,再使用docker load命令将文件导入为一个镜像,会保存该镜像的的所有历史记录。比docker export命令导出的文件大,很好理解,因为会保存镜像的所有历史记录。

      容器导入/导出:docker import/docker export;

      将一个容器导出为文件,再使用docker import命令将容器导入成为一个新的镜像,但是相比docker save命令,容器文件会丢失所有元数据和历史记录,仅保存容器当时的状态,相当于虚拟机快照

镜像导出

docker save -o [package name].tar [mirror]

例如:

docker save -o images.tar mongo:3.4

镜像导入

docker load -i [package name].tar

例如:

docker load -i jdk.tar

容器导出

docker export [container_id] > [容器快照名]

例如:

docker export devcie>device.tar

容器导入

docker import [容器快照名]

例如:

docker import device.tar

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值