### Ubuntu18下docker安装
* step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
* step 2: 安装GPG证书
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
* Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
* Step 4: 更新并安装 Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce
### 其他版本Ubuntu下安装Docker
1. 清除之前安装的
sudo apt-get remove docker docker-engine docker.io
2. 更新系统库
sudo apt-get update
3. 安装curl等工具
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
4. 添加镜像源key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
5. 添加镜像源
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt-get update
6. 安装docker-ce
sudo apt-get install docker-ce
7. 再安装docker-compose
sudo apt-get install docker-compose
### Docker基础命令
* docker login 登录docker
* docker logout 退出登录
* docker search imageName 搜索指定镜像名的镜像
* docker pull ImageName:Version 拉取指定版本镜像
* docker commit containerID tagName 提交容器更改到镜像
* docker tag sourcetag newtag 打标签
* docker push tagName 将自己的镜像推送到仓库
* docker build -t tagName -f DOCKERFILEPath contextPath 创建镜像,指定镜像tag和DOCKERFILE文件路径以及上下文路径,若未指定DOCKERFILE的路径则会查找上下文路径下的DOCKERFILE文件(镜像打包方式会将上下文路径下的所有文件都传到docker服务端进行打包操作,所以指定上下文时需保证上下文路径下都是打包需要用到的文件,COPY等文件操作时也需要保证需要操作的文件处于上下文路径下)
* docker save imageName fileName 将指定镜像打包成文件
* docker load -i fileName 加载指定镜像文件
* docker run ImageName -i让容器标注输入打开 -t分配一个伪终端 -d后台运行 -p newPort:originPort指定映射出的端口 -v newVolumns:originVolimns指定卷 --mount source=volumnName|dirPath,target=filePath(in container) --name containerNmae 指定启动容器的名字
* docker start containerName 启动一个已经停止了的容器
* docker logs [containerID|NAMES] 查看一个容器的日志
* docker stop containerName 终止一个容器
* docker exec -it containerNmae bash 使用bash进入容器内部
* docker attach container 进入容器(但exit来退出时容器也会终止)
* docker import originFile tagName 从指定文件或者地址导入镜像为指定标签
* docker rm containerName 删除指定容器
* docker rmi imageName 删除置顶镜像(删除前确认是否还有由镜像启动的容器,也需要删除)
* docker volumn create volumnName 创建一个数据卷
* docker volumn inspect volumnName 查看一个数据卷信息
* docker volumn rm volumnName 移除一个数据卷
### DOCKERFILE文件规则
* FROM baseOSName 指定基础镜像
* MAINTAINER maintainerInfo 维护人员信息
* RUN cmd 执行命令行命令(1.shell方式:直接执行shell命令,2.exec方式:RUN [可执行文件,参数1,参数2]),可以多个命令用&&符链接
* COPY [--chown=<user>:<group>] originFilePaths aimPath 将上下文下的文件拷贝到镜像中的指定目录(originFilePath支持正则匹配GO语言的filepath.Match)
* ADD [--chown=<user>:<group>] origin aimPath 拷贝指定文件到指定目录下(支持origin为网络地址,且所有网络地址下载的文件权限都为600,若指定文件为tar文件压缩格式为gizp、bzip2及xz时,ADD命令会自动解压改文件到指定目录下)
* CMD <命令>|["可执行文件","参数1","参数2"] 执行命令,一般用作指定启动主进程命令
* ENTRYPOINT "<CMD>" 执行程序入口(主进程),当指定ENTRYPOINT后CMD命令即会被作为参数传入到ENTRYPOINT命令中,docker启动时也可以通过指定--entrypoint参数来指定程序入口,程序需为绝对路径!
* ENV <key> <value>|key1=value1 key2=value2 指定环境变量,RUN命令以及镜像内应用都可以使用这些环境变量
* ARG key1=value1 key2=value2 指定构建参数,同环境变量一样,只是指定的环境变量在容器中不可以使用
* VOLUME ["<路径1>","<路径2>"...]|<路径> 定义匿名卷,所有向匿名卷写入的内容都不会保存在容器的存储层,docker容器启动时可以指定挂载来替代,-v aimPath:VolumePath这样将容器中的目录指定到镜像外的目录(永久保存)
* EXPOSE <端口1>|[<端口2>...] 声明开放端口(仅仅声明,实际端口开放需要另外操作)做容器服务端口的映射到宿主机可以在启动容器时指定 -p 宿主机端口:容器提供服务器端口
* WORKDIR <工作目录路径> 指定工作目录即为指定当前所处目录
* USER <用户名>[:<用户组>] 指定当前用户
#### 注意事项
RUN、CMD、ENTRYPOINT的区别
RUN 为系统安装软件
CMD 镜像启动时执行的指令,会被docker run中的指令替换
ENTRYPOINT 指定程序入口,指令和路径需为全路径 

Docker安装及简单使用(Ubuntu)的更多相关文章

  1. ubuntu16.04下docker安装和简单使用(转)

    ubuntu16.04下docker安装和简单使用   转自:https://www.cnblogs.com/hupeng1234/p/9773770.html 前提条件 操作系统 docker-ce ...

  2. Win 10 Docker安装和简单使用

    Win 10 Docker安装和简单使用 1.环境准备 Docker for Windows需要运行在64位Windows 10 Pro专业版.企业版或教育版(1607年纪念更新,版本14393或更高 ...

  3. ubuntu16.04下docker安装和简单使用

    前提条件 操作系统 docker-ce支持的ubuntu版本: Bionic 18.04 (LTS) Xenial 16.04 (LTS) Trusty 14.04 (LTS) 卸载旧版本docker ...

  4. Docker安装及简单使用

    1.docker安装 #1.检查内核版本,必须是3.10及以上 uname -r #2.安装 yum -y install docker 2.docker简单使用 #1.启动docker system ...

  5. docker快速入门01——docker安装与简单应用

    1.docker简介 Docker 是一个开源的应用容器引擎,Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化 ...

  6. [Docker] Docker安装和简单指令

    Docker笔记 安装 sudo apt install docker.io 启动和关闭Docker服务 # 启动Docker服务 sudo service docker start # 关闭Dock ...

  7. docker的安装,自己写了一个安装docker的脚本,辅助做docker安装的实验(ubuntu)

    #!/bin/bash #获取用户名 [ pwd == '/root' ] && hn="root@$(hostname):~#" || hn="root ...

  8. Docker安装 和简单使用

    1.安装依赖 yum install -y yum-utils device-mapper-persistent-data lvm2 2.这一步设置即将安装的是稳定版仓库 yum-config-man ...

  9. Docker(一):Docker安装

    简介:Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机).bare met ...

随机推荐

  1. mvc5 源码解析2-1:mvchandler的执行

    上一节说在urlroutingmodule中mvchandler 映射到httpcontext上,那mvchandler又是怎么执行的呢? (1).httpruntime 从isapiruntime  ...

  2. 初识redis(redis基础命令)

    redis简介redis是一个开源(BSD许可)的使用C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,它可以用作数据库.缓存和消息中间件,并提供多种语言的API.从201 ...

  3. make CMake 来龙去脉

    理论上说,任意一个C++程序都可以用g++来编译. 大家都知道,写程序大体步骤如下: 1.用编辑器编写源代码,如.c文件. 2.用编译器编译代码生成目标文件,如.o. 3.用链接器连接目标代码生成可执 ...

  4. VUE--v-on修饰符

    1.v-on的修饰符 .stop:阻止事件冒泡 <div @click="getTitle"> 阿Q <button @click="getBut&qu ...

  5. 01GitLab的使用——创建项目并上传到GitLab

    借鉴:https://jingyan.baidu.com/article/9c69d48fe68cce13c9024e9c.html 登录GitLab网站,创建一个项目上传地址:https://blo ...

  6. QElapsedTimer定时器记录程序执行时间

    QElapedTimer类提供了一种快速计算运行时间的方法,从Qt4.7引入. QElapsedTimer类通常用于快速计算两个事件之间经过了多少时间.它的API与QTime相似,因此可以将正在使用的 ...

  7. Resin开放远程调试端口

    Resin开放远程调试端口在启动加载的resin.xml中,找到  <server-default>, 在其下加入 <jvm-arg>-Xdebug</jvm-arg&g ...

  8. 在spring boot中三分钟上手apache顶级分布式链路追踪系统skywalking

    原文:https://juejin.im/post/5cd10e81e51d453b560f2d53 skywalking在apache里全票通过成为了apache顶级链路追踪系统 项目地址:gith ...

  9. JMeter3.0及JMeter5.1开发WebService接口脚本(soap取样器 & http取样器)

    由于5.1没有soap取样器了,所以用3.0演示. WebService接口信息 WebService接口地址:http://www.webxml.com.cn/WebServices/Weather ...

  10. 异常CLRDBG_NOTIFICATION_EXCEPTION_CODE( 0x04242420)

    简介 CLRDBG_NOTIFICATION_EXCEPTION_CODE,值为0x0x04242420.此异常在.CLR 4.0的启动路径期间触发,是CLR4.0版本初始化调试服务时向调试器发送消息 ...