ubuntu安装官方提供版
详细步骤:
查看https是否存在
root@local:/# cd usr/lib/apt/methods/https
添加Docker的apt仓库
root@local:/# echo deb https://get.docker.com/ubuntu docker main>/etc/apt/source.list.d/docker.list
添加仓库的钥匙
root@local:/# apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys
安装docker
root@local:/# apt-get update
root@local:/# apt-get install -y lxc-docker
简易安装步骤:
root@local:/# sudo apt-get install -y curl
root@local:/# wget -qO- https://get.docker.com/ | sh
当要以非root用户可以直接运行docker时,需要执行 sudo usermod -aG docker runoob 命令
docker组件
docker仓库配置文件:
wget https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/
vim docker-ce.repo
%s@https://download.docker.com/@https://mirrors.tuna.tsinghua.edu.cn/docker-ce/@
docker配置文件:
/etc/docker/daemon.json
docker镜像加速:
docker cn
{
"registry-mirrors":["https://registry.docker-cn.com"]
}
启动docker 后台服务
root@local:/# service docker start
查看docker服务
root@local:/# ps -ef |grep docker
测试是否成功:
root@local:/# docker version
创建启动容器
$docker run IMAGE [COMMAND] [ARG]...
IMAGE 启动容器使用的镜像
COMMAND 容器启动后执行的命令
ARG 容器启动后执行的参数
$docker run ubuntu echo "hellow world" 启动一个容器
创建进入交互式容器
$docker run [--name] -i -t ubuntu /bin/bash 启动容器自定义命名的容器
--name 自定义容器名
-i 告诉守护进程,为容器始终打开标准输入
-t 告诉docker为容器分配一个伪tty终端,提供交互式shell
例:$docker run --name contain01 -i -t ubuntu /bin/bash
此时创建了一个名为contain01的交互式容器
ps -ef 查看容器状态
exit 退出
转守护形式运行容器(后台模式):
Ctrl+P+Q 退出交互式,转为后台
进入守护形式的容器:
$docker attach 容器名容器ID
创建守护式容器
$docker run [--name] -d IMAGE [COMMAND] [ARG]...
-d 以后台形式运行命令
例:$docker run --name dc01 -d ubuntu /bin/sh -c "while true; do echo hellow world;sleep 1 done"
添加新进程
$docker exec [-d] [-i] [-t] 容器id容器名 [COMMAND] [ARG]...
例:$docker exec -i -t dc01 /bin/bash 添加了一个/bin/bash进程
设置容器映射
-P为容器所有暴露端口映射
$docker run -P -i -t ubuntu /bin/bash
-p指定映射
第一种:只指定容器端口,宿主机端口为随机映射
$docker run -p 80 -i -t ubuntu /bin/bash
第二种:指定宿主机端口和容器端口
$docker run -p 8080:80 -i -t ubuntu /bin/bash
第三种:指定ip和容器端口
$docker run -p 127.0.0.1:80 -i -t ubuntu /bin/bash
第四种:指定ip及宿主机端口 和 容器端口
$docker run -p 127.0.0.1:8080:80 -i -t ubuntu /bin/bash
查看容器映射情况
$docker port 容器ID容器名字
查看容器内部运行情况
$docker logs [-f] [-t] [--tail] 容器名容器ID
-f 一直跟踪日志变化,返回结果
-t 返回结果中加时间戳
--tail 返回多少数量日志,默认全部
查看容器进程:
$docker top 容器id容器名
查看容器
$docker ps [-a] [-l]
$docker ps 查看正在运行中的容器
$docker ps -a 查看全部容器
$docker ps -l 列出最新创建的容器
查看容器
$docker inspect [容器ID容器名字]
查看容器配置信息
重新启动已经停止的容器
$docker start -i contain01
停止守护容器
$docker stop 容器ID容器名字
发送停止信号,执行完当前任务后停止
$docker kill 容器ID容器名字
直接杀死容器
删除已经停止的容器
$docker rm 容器id容器名
*************************
使用docker帮助文件 *
例:$man docker-run *
$man docker-logs *
.... *
*************************
查看镜像
$docker images [选项] [仓库]
-a 显示所有镜像,默认不显示中间层镜像
-f 显示的过滤条件
-no-trunc 不使用截断形式显示
-q 只显示镜像唯一id
查看镜像配置信息
$docker inspect [镜像ID镜像仓库名:标签名]
删除镜像
$docker rmi [选项]
-f 强制删除
例:$docker rmi ubuntu:16.04
(高危操作)删除所有镜像
$docker rmi $(docker images -q ubuntu)
查找镜像
$docker search -s 3 ubuntu
三星以上的全部镜像,最多显示25个
拉取镜像 docker hub
$docker pull ubuntu:14.04
拉取ubuntu14.04镜像
换源:
docker加速器获取镜像链接
$sudo vim /etc/default/docker
添加DOCKER_OPTS = "镜像链接"
推送镜像 docker hub
$docker push 账户名/nginx
构建镜像
第一种:通过容器构建
$docker commit [选项]
-a 记录镜像作者
-m 记录镜像信息
-p 使容器不暂停
第二种:通过Dockerfile文件构建(推荐)
$docker build [选项] 文件路径
--force-rm
--no-cache
--pull
-q
--rm
-t
例:
创建一个文件输入
#First Dockerfile
FROM ubuntu:16.04
MAINTAINER dormancypress "账户名@outlook.com"
RUN apt-get update
RUN apt-get install -y nginx
EXPOSE 80
进入到文件目录,构建镜像
$docker build -t='当前目录名/文件名'