Docker安装及简单使用(Ubuntu)

### 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 指定程序入口,指令和路径需为全路径

原文地址:https://www.cnblogs.com/huangxinyuan650/p/12045110.html

时间: 2024-11-01 09:55:10

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

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

#!/bin/bash #获取用户名 [ pwd == '/root' ] && hn="[email protected]$(hostname):~#" || hn="[email protected]$(hostname):pwd#" d (){ echo -e "\033[1m$hn$dd\033[0m" } a (){ sleep 1 } c (){ echo -e "\033[32m$cc\033[0m&quo

docker 安装及简单配置

安装: yum install http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm yum install docker-io docker -d 问题: docker: relocation error: docker: symbol dm_task_get_info_with_deferred_remove, version Base not defined in file libdevmapper.so.1.

docker安装并设置开机启动(Linux)

docker 开机启动: systemctl enable docker 使用的linux系统为CentOS7.2 docker分为CE和EE版本,EE版本收费,一般我们使用CE版本就满足要求了 docker安装及启动 docker安装很简单,直接使用如下命令安装即可,安装后的docker版本即为CE免费版(对于更高的linux版本,可以先执行安装docker-ce,如果提示Nothing to do,则再直接使用如下命令) yum -y install docker 安装结束后,查看docke

Ubuntu下用docker安装redis镜像和使用redis容器分享

Ubuntu下用docker安装redis镜像和使用redis容器分享 1. 安装Ubuntu 2. 用Putty登录Ubuntu Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-40-generic x86_64) * Documentation:  https://help.ubuntu.com/ System information as of Wed Dec 31 06:41:16 UTC 2014 System load:  0.01  

Ubuntu系统利用docker容器发布简单的应用

我的电脑装的是ubuntu系统,所以以ubuntu为例来写 由于后边涉及到程序的可移植性验证,我们先在docker hub上注册一个账号(注册地址),记住用户名! (全文直接附命令,由于我没有配置docker获得root权限,所以涉及到的docker操作命令前都要加sudo,觉得不方便的话可以再百度找找怎么办) 首先看你的ubuntu系统是否支持Docker(一般高于3.10即可) uname -r 一  前期准备 1.获取docker安装包 wget -qO- https://get.dock

ubuntu下docker安装与版本升级

ubuntu 下docker安装与版本升级 一.系统环境 系统:ubuntu-server 14.04 x86_64 内核:3.13.0-32-generic 二.Docker安装 --------------------------------------------------------------------------------- 要想安装最新版本的Docker需要使用Docker源来安装 $ sudo su - root # apt-get -y installapt-transp

Docker的安装及简单使用

1.  Docker的安装 (这里的“安装docker”其实就是安装Docker Engine) $ sudo apt-get intasll docker.io note: apt-get是ubuntu安装软件的管理工具 2.  确认docker engine是否安装成功 # Check that you have a working install $ sudo docker info 3.  下载一个镜像(Download a pre-built image) # Download an

docker安装步骤翻译ubuntu

本问是根据docker官方文档翻译,原文:https://docs.docker.com/engine/installation/linux/ubuntulinux/ Docker 支持以下 Ubuntu 系统: Ubuntu Xenial 16.04 (LTS) Ubuntu Wily 15.10 Ubuntu Trusty 14.04 (LTS) Ubuntu Precise 12.04 (LTS) 本页内容指引你安装使用由Docker管理的正式包和管理包. 使用这些安装包能确保你安装 Do

使用docker安装部署Spark集群来训练CNN(含Python实例)

使用docker安装部署Spark集群来训练CNN(含Python实例) 本博客仅为作者记录笔记之用,不免有很多细节不对之处. 还望各位看官能够见谅,欢迎批评指正. 博客虽水,然亦博主之苦劳也. 如需转载,请附上本文链接,不甚感激! http://blog.csdn.net/cyh_24/article/details/49683221 实验室有4台神服务器,每台有8个tesla-GPU,然而平时做实验都只使用了其中的一个GPU,实在暴遣天物! 于是想用spark来把这些GPU都利用起来.听闻d