docker开发笔记

引言

最近在做一个项目,客户要求我们利用docker来搭建我们程序所以来的环境,所以,我就开始学docker,学着学着发现,docker确实挺方便的。之前一直再用虚拟环境,看来以后得向docker方向靠拢了,而且听说现在大部分小伙伴们都是用的docker。所以我也来讲讲我在学习并开发过程中的一些笔记吧。

开发环境

  • 系统:ubuntu16.04

  • docker版本:
    Client:
    Version: 1.13.1
    API version: 1.26
    Go version: go1.6.2
    Git commit: 092cba3
    Built: Thu Nov 2 20:40:23 2017
    OS/Arch: linux/amd64

    Server:
    Version: 1.13.1
    API version: 1.26 (minimum version 1.12)
    Go version: go1.6.2
    Git commit: 092cba3
    Built: Thu Nov 2 20:40:23 2017
    OS/Arch: linux/amd64
    Experimental: false

docker常用命令

1.docker的安装,主要分为三步骤

  • $sudo apt-get update

  • $sudo apt-get install docker

  • $sudo apt-get install docker.io

2.查看docker版本,$sudo docker version

3.搜索镜像,$sudo docker search <imagename>

4.下载镜像,$sudo docker pull <imagename>

5.查看已下载镜像,$sudo docker images

6.在下载好的镜像中运行命令:$sudo docker run learn/tutorial echo "hello word"

7.在镜像中安装新程序:$sudo docker run learn/tutorial apt-get install -y <程序名>

8.保存对容器的修改:

  • $sudo docker ps -l 查看修改后镜像的id号

  • $sudo docker commit <id> <镜像名> ,例: $sudo docker commit 698(只输前三四个id号即可) learn/ping

  • $sudo docker ps -a 查看存在的容器信息

9.运行新的镜像:$sudo docker run learn/ping ping www.baidu.com

10.检查运行中的镜像:$sudo docker ps,若要具体看某一特定的容器,可用命令:$sudo docker inspect <id>

11.使用交互方式运行镜像:

  • $sudo docker run -it <镜像名> /bin/bash (如:$sudo docker run -it ubuntu /bin/bash)

  • $sudo docker start -ai <容器名> (如:$sudo docker start -ai kickass_swanson)

12.导出镜像到本地文件:$sudo docker export <容器id> > <导出包名> (如:sudo docker export 2c441049f06e > my_container.tar)

13.载入本地镜像文件:$sudo cat <镜像包名> | sudo docker import - <新建镜像名>:<版本> (如:$sudo cat louiscontainer.tar | sudo docker import - test/ubuntu:v1.0)

14.删除镜像:$sudo docker rmi <镜像名称> (一般得先将镜像中的容器删除掉再删除镜像)

15.删除容器:$sudo docker rm <容器id>

16.关闭容器:$sudo docker stop <容器名>

17.使用docker镜像容器运行Python脚本文件:

  • runoob@runoob:~/python$sudo docker run -v
    $PWD/myapp:/usr/src/myapp -w /usr/src/myapp python:3.5 python
    helloworld.py
    (假设helloworld.py在~/python/路径下)

  • 命令说明:

 -v $PWD/myapp:/usr/src/myapp #将主机中当前目录下的myapp挂载到容器的 
 -w /usr/src/myapp #指定容器的/usr/src/myapp目录为工作目录
 python helloworld.py #使用容器的python命令来执行工作目录中的
                       helloworld.py文件

18.使用dockerfile,制作镜像:$sudo docker build -t <镜像名> .
(如:$sudo docker build -t louistest . ) ,此命令需在dockerfile所在目录进行

题外话(有关虚拟环境的一些命令)

  • 将搭建好的虚拟环境中的依赖包提取出来:$pip freeze > venv/requirement.txt
  • 利用requirement.txt快速搭建虚拟环境: $pip install -r path/requirements.txt

猜你喜欢

转载自blog.csdn.net/liu14lang/article/details/78668277