下载镜像:
Docker pull ubuntu:16.04
列出本地所有镜像:
Docker iamges
运行镜像:
Docker run -it ubuntu:16.04
删除镜像:
Docker rmi -f ubuntu:16.04
或者先删除容器,再删除镜像
查看所有的容器:
Docker ps -a
创建镜像:
一般已经修改过的镜像退出后会成为一个容器,然后将该容器打包成镜像
Docker commit -a "jiabotao" -m "add a container" a4564dsfa ubpython:1.01
上面a4564为容器的id
镜像导出到本地:
Docker save -o ubuntu_16.04.tar ubuntu:16.04
载入镜像:
Docker load --input ubuntu_16.04.tar
启动容器:
Docker start af(容器id)
以守护状态运行一个容器:
Docker run -d ubuntu 容器里面的运行命令
终止容器:
Docker stop 容器id
重启容器restart
进入一个在后台运行的容器:
Docker exec -it 容器id /bin/bash
运行容器
runoob@runoob:~/python$ docker run -v $PWD/myapp:/usr/src/myapp -w /usr/src/myapp python:3.5 python helloworld.py
命令说明:
-v $PWD/myapp:/usr/src/myapp :将主机中当前目录下的myapp挂载到容器的/usr/src/myapp
-w /usr/src/myapp :指定容器的/usr/src/myapp目录为工作目录
python helloworld.py :使用容器的python命令来执行工作目录中的helloworld.py文件
Docker run -d -p 80:80 --name webserver nginx
守护进程运行,端口映射为80映射到nginx80端口,--name起名叫webserver服务器,启动nginx容器
启动方法二容器
docker run --name quotation_api -itd -p 5000:5000 -v /home/quotation:/code quotation_dev:latest
用到的参数分别是
--name为容器命名;
-itd 输入输出终端,后台运行
-p host端口:容器端口 用5000是flask默认
-v host路径:容器内路径
最后是使用的镜像名(前面刚用dockerfile build出来的)
docker run --name --rm nginx -p 80:80 -v /root/nginx.conf:/etc/nginx/nginx.conf --link flask -d nginx
上面是:--rm如果容器停止,就会自动删除容器, --link是与flask容器之间可以进行无缝通讯
Flask简单创建:
创建一个Dockerfile文件,以便Docker镜像的构建:
testflask/Dockerfile
FROM python:2
WORKDIR /usr/src/app
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD ["gunicorn", "app:app", "-c", "./gunicorn.conf.py"]
完成这两个文件的创建之后,执行如下命令,就可以开始构建Docker镜像:
sudo docker build -t 'testflask' .
需要注意的是,下载python:2这个基础镜像可能需要花点时间,因为它有几百兆。
构建完成之后,通过如下命令查看镜像列表,可以发现testflask显示在其中:
sudo docker images
接下来,我们可以push镜像到镜像仓库进行分发,这里我们就在本机运行进行演示。
需要注意,公司的私有代码,不要push到公网的镜像仓库上
运行如下命令,临时运行docker镜像:
sudo docker run -it --rm -p 8888:8888 testflask
创建镜像除了pull方法以外,还有build方法,可以使用dockerfile文件
docker build -t ubuntu-with-python dockerfile