一. 什么是docker
Docker 是一個開源的應(yīng)用容器引擎照筑,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的Linux機器上瘦陈,也可以實現(xiàn)虛擬化朦肘,容器是完全使用沙箱機制,相互之間不會有任何接口双饥。
一個完整的Docker有以下幾個部分組成:
DockerClient客戶端
Docker Daemon守護進程
Docker Image鏡像
DockerContainer容器
二. 安裝python3.7
本次python3.7使用源碼安裝
1. 安裝環(huán)境
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下載源碼包
從官網(wǎng)下載最新版本源碼包并解壓
2.2 建立安裝目錄
sudo mkdir -p /usr/local/python3.7
2.3 編譯安裝
進入源碼包目錄下,使用如下命令
./configure --prefix=/usr/local/python3.7 --enable-optimizations
make
sudo make install
如果編譯過程中出現(xiàn)如下問題
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環(huán)境
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?
這是網(wǎng)絡(luò)問題苍匆,掛個梯子就行了
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
顯示如下結(jié)果
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創(chuàng)建軟連接
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(容器中)//端口轉(zhuǎn)發(fā)
docker ps //查看當前處于運行狀態(tài)的容器
docker start 容器ID或容器名 //開啟容器
docker stop 容器ID或容器名 //停止運行中的容器
docker ps -a //查看停止的容器
docker rm 容器ID或容器名 //刪除容器
docker exec -it 容器ID或容器名 /bin/bash //進入容器內(nèi)部
docker save 容器名/容器ID > test.tar //導(dǎo)出容器
docker load < test.tar //導(dǎo)入容器