docker 入门的一些基本操作,包括安装,设置权限,制作镜像,docker容器基本操作,等。。。
安装docker
- 编辑/etc/apt/sources.list文件,加入下面这一句:
deb http://http.debian.net/debian jessie-backports main
更新软件源,并下载
sudo apt-get update
sudo apt-get install docker.io
* 安装完之后以普通用户身份使用docker会出错,提示权限不够被驳回
要么启用root权限,要么创建用户组
- 创建用户组
sudo groupadd docker
- 添加当前用户到用户组
sudo gpasswd -a $USER docker
- 更新当前用户组
newgrp docker
docker拉取镜像
======> hub.docker.com 官方仓库,直接拉取想要的镜像
docker image ls
======> 列出本地的镜像
docker pull [image-name]
======> 拉取镜像
docker run -dit --name [container-name] -d -p [docker-port:local-port] [image-name]
======> 创建并守护式运行自定义的容器,创建端口映射
docker ps -a
======> 查看所有创建的容器,-a为显示当前未运行的
docker exec -it [container-name] [command]
======> 进入容器
docker stop [container-name]
======> 停止容器
docker rm [container-name]
======> 移除容器
docker start [container-name]
======> 启动已存在的容器
几个封装好的常用镜像:
安装好nginx的Ubuntu镜像
docker pull 1and1internet/ubuntu-16-nginx
docker pull 1and1internet/ubuntu-16-nginx-passenger-python-3
封装打包自己的镜像文件
镜像,是一个基础架构,可以理解为是一个操作系统,但是是一个核心,容器就是建立在这个核心上的软件包
相当于镜像就是类,容器就是实例对象
docker commit -m "版本信息" -a "作者" 要打包的容器的id 自定义镜像的名称
容器内安装新的软件
官方文档说明直接 apt install [] 即可
但是会报错 E: Unable to locate package
无法定位软件包,通过更新软件源解决,在docker内执行 apt-get update 后即可安装
安装pip3 apt install python3-pip
docker 登录
docker login
将封装的镜像修改tag到自己名下
docker tag py3-nginx-flask haiton/py3-nginx-flask
最后,push到自己的docker仓库
docker push haiton/py3-nginx-flask
docker镜像导出导入
docker save [image_name] > [file_name]
如: docker save for_test:v1.0 > for_test
docker load < [file_name]
如: docker load < for_test