Docker 学习

安装docker

$ sudo apt-get install -y docker.io

安装最新版本

docker 命令总结

启动docker

$ sudo service docker start

镜像

列出本地镜像

$ sudo docker images

创建镜像

$ sudo docker commit -m "add start.sh" -a "add start.sh ..." e0dfc0f706ce jxm/my_space:v3

删除本地镜像

$ sudo docker rmi training/sinatra

本地镜像重命名

$ sudo docker tag  oldname:tag newname:tag
$ sudo docker tag  image_id    newname:tag

$ sudo docker rmi oldname:tag

阿里云

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

登陆

配置信息: $HOME/.dockercfg

$ sudo docker login  -e sample.aliyun.com registry.aliyuncs.com

搜索

$ sudo docker search centos

容器

创建容器

$ sudo docker create -i -t --name=apache  ubuntu:14.04  /bin/bash

启动容器

$ sudo docker start apache

进入容器

$ sudo docker attach apach

守护态运行

$ sudo docker run -d -p 3080:80 --name=myspace_test  jxm/my_space:v3  /bin/bash -c " while true; do echo hello world; sleep 1; done"

$ sudo docker run -d -p 3080:80 --name=myspace_test_v4  jxm/my_space:v4 /root/start.sh

守护态运行

sudo docker logs -f  {CONTAINER ID}
sudo docker logs --follow  {CONTAINER ID}

容器重命名

$ sudo docker rename  oldname    newname
$ sudo docker rename  image_id   newname

导出导入

查看容器

$ sudo docker ps      # 查看UP状态的容器
$ sudo docker ps  -a  # 查看所有容器
$ sudo docker ps  -as # 查看所有容器,显示容器大小

导出容器

$ sudo docker export {CONTAINER ID}  > ubuntu.tar

导入容器快照

$ cat ubuntu.tar | sudo docker import - test/ubuntu:v1.0

通过指定 URL 或者某个目录来导入,例如

$ sudo docker import http://example.com/exampleimage.tgz example/imagerepo

删除容器

$ sudo docker rm  name/ID
$ sudo docker rm `sudo docker ps -a -q`  #  删除全部容器

使用外部网络

查看端口

$ sudo docker port {CONTAINER ID}
$ sudo docker port {CONTAINER ID}  80

数据卷

数据卷容器

数据卷

$ sudo docker run -i -i --name=web -v /src/webapp:/opt/webapp  ubuntu:14.04

查看数据卷

$ sudo docker inspect {NAMES}

数据卷容器

$ sudo docker run -d --volumes-from={NAME/ID} --name=my_space_build  alpine/my_space_build:v1

Dockerfile

  1. EXPOSE

    格式为 EXPOSE <port> [<port>...] 。 告诉Docker服务端容器暴露的端口号