ubuntu 64位操作系统终端安装docker镜像

sodo install docker

#查看是否安装docker -v

sudo su 进入root环境下

#下载ubuntu镜像

docker pull ubuntu:16.04

#下载mysql镜像

docker pull mysql:8.0(这是版本号)

#下载nginx镜像

docker pull nginx

#可以启动一个操作系统 但运行不了

docker run ubuntu:16.04

#启动一个指定容器 的虚拟环境

docker run -it --rm ubuntu:14.06

#关闭虚拟环境

docker stop \'docker ps -q\'

#启动php虚拟环境

docker start php71

docker功能:快速 搭建环境

#1.很快的在一台主机上虚拟化多个环境

#2.不污染宿主机器,快速使用匹配的虚拟环境来运行程序

#3.持续集成,开源项目

#虚拟主机(ngix,apache)

#半虚拟机(docker)

#全虚拟化的差异(aliyun)

get hub #开源源代码

docker #开源产品镜像

#查看所有镜像

docker images

docker run -i(输入交互参数) -t(终端交互) ubuntu:16.04 /bin/bash(启动容器启动后的第一个程序的参数)

docker run -i -t ubuntu:16.04 /bin/bash

-i:本地的文件,本地的标准输入流 输入到容器里面去(有输入)

-t:容器需要有反馈-

i-t可以合并为-it,-it是启动既有输入又有终端交互的命令

bin/bash是启动后的第一个程序

root@080e89af34ff:/# 这就进入了linux的操作系统里面了

clear #可以清除之前所有的命令

#退出前端进程并且退出(默认关闭)当前运行容器

exit

#查看正在运行的docker容器

docker ps

#不管运行了的还是没有运行的容器都找出来

docker ps -a

#显示容器运行的id

docker ps -aq

#一次性删除所有的容器(通过容器id)

docker rm \'docker ps -aq\'

#停止所有运行的容器(id)

docker stop \'docker ps -q\'

#为什么启动一个容器立刻就退出了呢

#答:因为启动容器有一些特殊的要求

#删除容器

docker rm 容器id号

#删除镜像

docker rmi 容器id号

#启动容器不需要有终端不需要有交互,可以在后台启动(加-d参数)

如:docker run -d nginx:latest

#查看帮助命令

docker help

#把当前终端附加到其他容器(id)

docker attach id(其他容器id号)

#(无人访问就什么日志都没有)

#结束当前进程(容器也退出)

ctrl + c

#版本号后面什么参数都不加,默认器/bin/bash comment命令

docker run -it ubuntu:16.04

#启动容器输出一句话hello

docker run -it ubuntu:16:06 echo hello

#查找所有容器并且把他们删除掉

docker rm \'docker ps -aq\'

#启动容器输出一句话hello(输出完自动就删除容器了)

docker run -it --rm ubuntu:16:06 echo hello

--m和-d不能同时运行

--rm:运行完就结束

-d:执行完,还在后台运行

#给容器起个名字

docker run -d --name nginx nginx:latest

#在启动容器可以使用起的容器名字

#启动nginx

docker start nginx

#重启

docker restart nginx

#停止

docker stop nginx

#删除

docker rm nginx

run #后的参数没有顺序影响(做了个外设,通过外面浏览器访问本地)

docker run --name nginx -d -p 8080:80 nginx:latest

-p:把本地的某个端口绑定容器里面端口

-p后面的80是本地端口

:冒号后面的是容器端口

#不用就停止在删除

docker stop nginx

docker rm nginx

#查询docker支持哪些命令

docker help

#查看docker中run方法支持哪些命令

docker run help

#容器名字不能重复

#启动容器服务器80端口后遇到一些错误,一直自动重启

docker run --name nginx2 -d -p 80:80 --restart=always nginx:latest

#查看内存,cpu,进程消耗

top

#查看进程消耗资源

ps -aux

#数据分析时运用浮点数计算显卡Gpu

#发布镜像

#公司,团体名/具体项目名称,程序名称

#制作一个镜像

docker run -it --name vimu ubuntu:16:04

apt-get update

apt-get install vim

[y/n] y

exit

docker ps -a

#查看就多了一个vimu容器

#测试提交一个镜像

docker commit vimu test/vimu:1.0

#查看就多了一个镜像test/vimu版本为1.0

docker images

#容器启动完就把它删掉

docker run -it --rm test/vimu:1.0

#新建a.txt,并可以编辑

vi a.txt

#做好的镜像别人也能使用要导出

docker export vimu > ~/vimu.taz(保存在家目录下)

#分享环境镜像

#进入到家目录下

cd /

mkdir vimu

ls

pwd #查看路径

#用vi创建一个文件

vi Dockerfile(除了D是大写,其他都是小写)

#用Dockerfile创建一个配置文件,用docker来读取配置文件,根据配置文件的内容来创建一个镜像

#在Dockerfile文件中

#这是一个测试文件(代表注释语句)

FROM ubuntu:16.04

MAINTAINER David chin "自己在阿里云注册的域名"

RUN apt-get update

RUN apt-get install -y vim

-y:是程序安装时弹出对话框你是否继续执行,我们选择-y 继续执行

:wq (退出并保存)

#执行Dockerfile

docker build -t test/vimu:1.1 .

-t:打个标记叫test/vimu:1.1

#.最后这个点必须写,表示当前路径位置

#就是把镜像放在镜像列表里,表示镜像创建结束

#用mysql+wordpress来搭建一个博客

step1:先把mysql和wordpress安装好

docker pull mysql

docker pull wordpress

step2:

#给数据库起名字设密码配置路径,建立mysql和wordpress之间的链接

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest

docker run --name somewordpress --link some-mysql:mysql -p 8080:80 -d wordpress

(--link 把这两个容器链接起来)

ADD指令与copy指令

ADD var/www/index.html /var/www/html/index.html

#如果是目录结尾必有/ 如果是不是目录结尾必有扩展名

#与copy指令类似,但是他能自动解压

copy指令只做复制不会解压

env 环境变量的设置

echo $path 输出当前路径

#构建镜像

vi Dockerfile

docker run --rm -it ubuntu:16.04

docker build -t test/env:1.0 .

#创建并执行退出

docker run --rm -it test/env:1.0 /bin/bash

#输出自己定义的name名字

echo $name

#创建一个workdir,用切换路径

docker build -t test/workdir:1.0 .

vi Dockerfile文件中有

#Dockerfile 模板文件

FROM ubuntu:16.04

WORKDIR /OPT

#学习容器集群

docker compose

compose up 启动整个容器集群就相当于启动了多条--link 命令

#安装compose

apt-get install curl

curl -L "https://github.com/docker/compose/releases/download/1.11.2/docker-compose-$(uname -s)-$(unmae -m)" -o /usr/local/bin/docker-compose

#如果没有python环境就需要安装python了

#或者用python环境安装

#查看python版本

python --version

apt-get install python

[y/n] y

#安装python pip

apt-et install python-pip

#安装compose

pip install docker-compose

#查看安装版本

docker-compose -v

#创建一个文件夹

mkdir ror

vi Gemfile

touch Gemfile.lock

#这两个文件是rubygems需要

#帮助镜像做数据库的链接,帮助容器里命令的执行

#参考文档:https://docs.docker.com/compose/rails/#define-the-project

#启动所有

docker-compose up

#根据配置环境启动创建数据库命令

docker-compose run web rake db:crate

#搜镜像

https://hub.docker.com

#下载镜像

https://dev.aliyun.com/sarch.html