Ubuntu16.04安装python3.7和docker

  • 什么是docker
  • 安装python3.7
  • 搭建docker环境

一. 什么是docker

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

一个完整的Docker有以下几个部分组成:

DockerClient客户端

Docker Daemon守护进程

Docker Image镜像

DockerContainer容器


二. 安装python3.7

本次python3.7使用源码安装

1. 安装环境

1
2
3
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 建立安装目录

1
sudo mkdir -p /usr/local/python3.7

2.3 编译安装

进入源码包目录下,使用如下命令

1
2
3
./configure --prefix=/usr/local/python3.7  --enable-optimizations
make
sudo make install

如果编译过程中出现如下问题

1
2
3
ModuleNotFoundError: No module named '_ctypes'
Makefile:1130: recipe for target 'install' failed
make: *** [install] Error

可以使用如下方法解决

1
2
3
4
5
6
7
8
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-dev openssl
sudo apt-get install libffi-dev

3 添加软连接

1
2
3
4
#添加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 检测版本

1
2
python3.7 -V
pip3.7 -V


二. 搭建docker环境

1.安装docker

1.1 安装

1
sudo curl -s https://get.docker.com/ | sh

如果提示没有curl,可以按照提示安装curl,不使用apt install方式安装docker是因为,如果源上的docker不是最新的,无法安装最新版本的docker。

1.2 几个遇到的问题

1)

1
2
3
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)

1
E: Sub-process /usr/bin/dpkg returned an error code (1)

使用如下命令解决

1
2
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安装

1
pip3 install docker-compose --user

2.2 添加软连接

安装完成后使用如下命令查看安装位置

1
pip3 show docker-compose

显示如下结果

1
2
3
4
5
6
7
8
9
10
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创建软连接

1
sudo ln -s /home/cheng/.local/bin/docker-compose /usr/bin/

3. docker使用

3.1 添加加速

使用DaoCloud为docker进行加速

1
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io

3.2 docker镜像操作

1
2
3
4
docker search mysql //搜索
docker pull 镜像名称 //下载
docker images //查看本地已下载镜像
docker rmi 镜像id //删除镜像

3.3 docker容器操作

1
2
3
4
5
6
7
8
9
10
11
12
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 //导入容器


-------------本文结束感谢您的阅读-------------

本文标题:Ubuntu16.04安装python3.7和docker

文章作者:J2ck7a1 Ch33

发布时间:2019年04月14日 - 18:04

最后更新:2019年08月28日 - 16:08

原始链接:http://yoursite.com/ubuntu16-04-python3-7-docker/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。


想喝快乐水