参考自docker官网
##安装docker
确认wget已经安装

如未安装请使用如下命令安装

$ sudo apt-get update $ sudo apt-get install wget

安装docker

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

确认是否安装完毕

$ sudo docker run hello-world

##docker基本命令使用

使用如下命令获取需要的docker镜像

$ sudo docker pull ubuntu:14.04

或者搜索docker容器

$ sudo docker search ubuntu
NAME                             DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
ubuntu                           Official Ubuntu base image                      1585      [OK]
ansible/ubuntu14.04-ansible      Ubuntu 14.04 LTS with ansible                   49                   [OK]
ubuntu-upstart                   Upstart is an event-based replacement for ...   25        [OK]
torusware/speedus-ubuntu         Always updated official Ubuntu docker imag...   24                   [OK]
tutum/ubuntu                     Ubuntu image with SSH access. For the root...   22                   [OK]
sequenceiq/hadoop-ubuntu         An easy way to try Hadoop on Ubuntu             14                   [OK]
dorowu/ubuntu-desktop-lxde-vnc   Ubuntu with openssh-server and NoVNC on po...   11                   [OK]
guilhem/vagrant-ubuntu                                                           9                    [OK]
ubuntu-debootstrap               debootstrap --variant=minbase --components...   7         [OK]
......

运行docker容器并且进入docker容器的命令行

$ sudo docker run -t -i ubuntu:14.04 /bin/bash

查看正在运行的docker容器

$ sudo docker ps
CONTAINER ID  IMAGE         COMMAND               CREATED        STATUS       PORTS NAMES
1e5535038e28  ubuntu:14.04  /bin/sh -c 'while tr  2 minutes ago  Up 1 minute        insane_babbage

其他docker命令可使用如下命令进行查询

$ sudo docker
Usage: docker [OPTIONS] COMMAND [arg...]

A self-sufficient runtime for linux containers.

Options:
  --api-cors-header=                   Set CORS headers in the remote API
  -b, --bridge=                        Attach containers to a network bridge
  --bip=                               Specify network bridge IP
  -D, --debug=false                    Enable debug mode
  -d, --daemon=false                   Enable daemon mode
  ......

##创建自己的docker images并且导出

###运行下载好的docker images

$ sudo docker run -t -i ubuntu:14.04 /bin/bash
root@92e3aeb08f18:/#

###docker镜像操作

例如

root@92e3aeb08f18:/#apt-get install ant

等待安装完毕

使用docker commit进行保存操作

root@92e3aeb08f18:/#exit
$ sudo docker commit -m "add ant" -a "ruisu"  92e3aeb08f18 ubuntu:14.04b
45c7b4118ce4da89bf1e8f9a52ac2e701b4de8546bfba790cb10fe847ed3c4fb

使用如下命令便会看到本地images多了一个叫ubuntu:14.04b的docker images

$ sudo docker images

如果已经注册docker hub账户可以直接push images到云端

$ sudo docker push ubuntu:14.04b

##配置docker私有库

上传仓库的导出文件xx.tar.gz到服务器的任意目录,这里上传到根目录

加载仓库镜像

# cd /
# docker load < xx.tar.gz

查看导入的仓库镜像

# docker images

启动仓库容器

# docker run -it --name=xx --net=host --restart=always --privileged=true xx

查看启动的仓库容器

# docker ps -a

##docker常用操作

###镜像导入

  • load方式导入镜像
用法:docker load < 导入的文件名称
示例:docker load < nginx_v1.0.tar.gz 在服务器上加载镜像
  • import导入镜像文件
用法:cat 文件名称 | docker import - [REPOSITORY][:tag]
示例: nginx_v1.0.tar.gz | docker import - 导入不打tag的镜像
示例: nginx_v1.0.tar.gz | docker import - 192.168.83.107:5000/nginx:v1 导入打tag的镜像
镜像更改
  • 修改镜像tag
用法:docker tag 镜像ID REPOSITORY:tag 示例:docker tag d6 192.168.83.107:5000/nginx:v1
  • 删除镜像tag
用法:docker rmi REPOSITORY:tag
示例:docker rmi 192.168.83.107:5000/nginx:v1
容器
  • 启动docker容器
用法:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
示例:docker run -it --name=nginx --net=host --privileged=true --restart=always 192.168.83.107:5000/nginx:v1 
启动容器 
示例:docker run -it --name=nginx --net=host --restart=always --privileged=true 192.168.83.107:5000/nginx:v1 /bin/bash 以
shell的方式启动容器 
退出容器
ctrl+p+q退出容器
  以交互式方式登录容器后可以采用上述方式退出
镜像上传下载
  • push镜像到仓库
用法:docker push REPOSITORY:tag
示例:docker push 192.168.83.107:5000/nginx:v1 备注:在向私有仓库push镜像的时候需要在docker客户机器的docker文件中增加如下内容(标红内容):
vi /etc/default/docker
DOCKER_OPTS="--insecure-registry 192.168.83.107:5000" // DOCKER_OPTS="--insecure-registry 仓库服务器地址:5000" service docker restart //重启docker服务生效
  • pull镜像到本地
用法:docker pull REPOSITORY:tag
示例:docker pull 192.168.83.107:5000/nginx:v1
镜像导出
  • save方式导出镜像
用法:docker save -o 导出的文件名称 镜像ID 示例:docker save -o=nginx_v1.0.tar.gz b8053ab2e5d3 备注:该导出方式导出的对象是镜像
  • export方式导出镜像
用法:docker export 容器ID > 导出的文件路径及导出的文件名称
示例:docker export 8c71d5f9e436 > ./nginx_v1.0.tar.gz 备注:该导出方式导出的对象为容器,save方式导出的文件比export方式导出的文件小

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!

设计模式之Decorator Pattern(装饰模式) 上一篇
Ubuntu 14.04 LTS 源 下一篇