Docker 学习
===================
安装docker
------------
.. code-block:: sh
$ sudo apt-get install -y docker.io
`安装最新版本 `_
docker 命令总结
------------------
启动docker
^^^^^^^^^^^^^^^^^
.. code-block:: sh
$ sudo service docker start
镜像
^^^^^^^^^^
``列出本地镜像``
""""""""""""""""""
.. code-block:: sh
$ sudo docker images
``创建镜像``
""""""""""""""""""
.. code-block:: sh
$ sudo docker commit -m "add start.sh" -a "add start.sh ..." e0dfc0f706ce jxm/my_space:v3
``删除本地镜像``
""""""""""""""""""
.. code-block:: sh
$ sudo docker rmi training/sinatra
``本地镜像重命名``
""""""""""""""""""
.. code-block:: sh
$ 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**
.. code-block:: sh
$ sudo docker login -e sample.aliyun.com registry.aliyuncs.com
``搜索``
""""""""""""""""""""
.. code-block:: sh
$ sudo docker search centos
容器
^^^^^^^^^^
``创建容器``
""""""""""""""
.. code-block:: sh
$ sudo docker create -i -t --name=apache ubuntu:14.04 /bin/bash
``启动容器``
""""""""""""""
.. code-block:: sh
$ sudo docker start apache
``进入容器``
""""""""""""""
.. code-block:: sh
$ sudo docker attach apach
``守护态运行``
""""""""""""""
.. code-block:: sh
$ 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
``守护态运行``
""""""""""""""
.. code-block:: sh
sudo docker logs -f {CONTAINER ID}
sudo docker logs --follow {CONTAINER ID}
``容器重命名``
""""""""""""""""""
.. code-block:: sh
$ sudo docker rename oldname newname
$ sudo docker rename image_id newname
``导出导入``
""""""""""""""
查看容器
.. code-block:: sh
$ sudo docker ps # 查看UP状态的容器
$ sudo docker ps -a # 查看所有容器
$ sudo docker ps -as # 查看所有容器,显示容器大小
导出容器
.. code-block:: sh
$ sudo docker export {CONTAINER ID} > ubuntu.tar
导入容器快照
.. code-block:: sh
$ cat ubuntu.tar | sudo docker import - test/ubuntu:v1.0
通过指定 URL 或者某个目录来导入,例如
.. code-block:: sh
$ sudo docker import http://example.com/exampleimage.tgz example/imagerepo
``删除容器``
""""""""""""""
.. code-block:: sh
$ sudo docker rm name/ID
$ sudo docker rm `sudo docker ps -a -q` # 删除全部容器
使用外部网络
---------------
查看端口
.. code-block:: sh
$ sudo docker port {CONTAINER ID}
$ sudo docker port {CONTAINER ID} 80
数据卷
-------------
`数据卷容器 `_
``数据卷``
^^^^^^^^^^
.. code-block:: sh
$ sudo docker run -i -i --name=web -v /src/webapp:/opt/webapp ubuntu:14.04
``查看数据卷``
^^^^^^^^^^^^^^^^^
.. code-block:: sh
$ sudo docker inspect {NAMES}
``数据卷容器``
^^^^^^^^^^^^^^^^
.. code-block:: sh
$ sudo docker run -d --volumes-from={NAME/ID} --name=my_space_build alpine/my_space_build:v1
Dockerfile
-----------
#. EXPOSE
格式为 EXPOSE [...] 。
告诉Docker服务端容器暴露的端口号
* `阿里云Docker `_
* `把镜像推送到阿里云 `_
* `Running GUI apps with Docker `_