一. 什么是docker
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
一个完整的Docker有以下几个部分组成:
DockerClient客户端
Docker Daemon守护进程
Docker Image镜像
DockerContainer容器
二. 安装python3.7
本次python3.7使用源码安装
1. 安装环境
sudo apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqlite3-dev libreadline-dev tk-dev libgdbm-dev libdb-dev libpcap-dev xz-utils libexpat1-dev liblzma-dev libffi-dev libc6-dev
2. 源码安装
2.1下载源码包
从官网下载最新版本源码包并解压
2.2 建立安装目录
sudo mkdir -p /usr/local/python3.7
2.3 编译安装
进入源码包目录下,使用如下命令
./configure --prefix=/usr/local/python3.7 --enable-optimizations
make
sudo make install
如果编译过程中出现如下问题
ModuleNotFoundError: No module named '_ctypes'
Makefile:1130: recipe for target 'install' failed
make: *** [install] Error
可以使用如下方法解决
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus
sudo apt-get install build-essential libncursesw5-dev libgdbm-dev libc6-dev
sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev
sudo apt-get install libssl-devopenssl
sudo apt-get install libffi-dev
3 添加软连接
#添加python3的软链接
ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3.7
#添加 pip3 的软链接
ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3.7
4 检测版本
python3.7 -V
pip3.7 -V
二. 搭建docker环境
1.安装docker
1.1 安装
sudo curl -s https://get.docker.com/ |sh
如果提示没有curl,可以按照提示安装curl,不使用apt install方式安装docker是因为,如果源上的docker不是最新的,无法安装最新版本的docker。
1.2 几个遇到的问题
1)
E: Failed to fetch https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/containerd.io_1.2.5-1_amd64.deb Operation too slow. Less than 10 bytes/sec transferred the last 120 seconds
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
这是网络问题,挂个梯子就行了
2)
E: Sub-process /usr/bin/dpkg returned an error code (1)
使用如下命令解决
sudo apt-get update --fix-missing
sudo apt-get autoremove && sudo apt-get clean && sudo apt-get install -f
2. 安装docker-compose
2.1 安装
使用刚刚安装的python3.7自带的pip3安装
pip3 install docker-compose --user
2.2 添加软连接
安装完成后使用如下命令查看安装位置
pip3 show docker-compose
显示如下结果
Name: docker-compose
Version: 1.24.0
Summary: Multi-container orchestration for Docker
Home-page: https://www.docker.com/
Author: Docker, Inc.
Author-email: None
License: Apache License 2.0
Location: /home/cheng/.local/lib/python3.7/site-packages
Requires: docopt, dockerpty, PyYAML, jsonschema, requests, docker, texttable, websocket-client, cached-property, six
Required-by:
Location一项即是docker-compose的安装路径,使用如下命令为docker-compose创建软连接
sudo ln -s /home/cheng/.local/bin/docker-compose /usr/bin/
3. docker使用
3.1 添加加速
使用DaoCloud为docker进行加速
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
3.2 docker镜像操作
docker search mysql //搜索
docker pull 镜像名称 //下载
docker images //查看本地已下载镜像
docker rmi 镜像id //删除镜像
3.3 docker容器操作
docker run -d -p --name 容器名或镜像ID)
-d 后台运行
-p 随机分配端口
-p 端口1(宿主机):端口2(容器中)//端口转发
docker ps //查看当前处于运行状态的容器
docker start 容器ID或容器名 //开启容器
docker stop 容器ID或容器名 //停止运行中的容器
docker ps -a //查看停止的容器
docker rm 容器ID或容器名 //删除容器
docker exec -it 容器ID或容器名 /bin/bash //进入容器内部
docker save 容器名/容器ID > test.tar //导出容器
docker load < test.tar //导入容器