目录
- Docker 安装
- Docker 使用
- Docker 启停
- Docker 换源
- Docker 镜像
- Docker 容器
- Docker 创建内部网段
- Docker Python 镜像创建
- Docker MySQL 镜像创建
- Docker 补充
Docker 是一个开源的应用容器引擎,Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。
Docker 安装
DockersDocs 官方文档
菜鸟教程 附加参考
若 Docker 官方库添加失败可尝试使用以下命令
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Docker 使用
Docker 启停
service docker start
service docker stop
service docker restart
Docker 换源
sudo vim /etc/docker/daemon.json
{"registry-mirrors": ["https://registry.cn-hangzhou.aliyuncs.com"]}
systemctl daemon-reload
systemctl restart docker
Docker 镜像
# Install Docker Image
sudo docker pull python:3.7
# Show Installed Images Name
sudo docker images
# Show Informations of Image
sudo docker inspect python:3.7
# Tar Docker Images
sudo docker save python:3.7 > ~/Downloads/python.tar
# Load Docker Images
sudo docker load < ~/Downloads/python.tar
# Delete Docker Images
sudo docker rmi python:3.7
Docker 容器
# Creat Container
# -it: Interaction
# --name: Container Name
sudo docker run -it --name=Test_one python:3.7 bash
# Show Container Status
sudo docker ps -a
# Start Container
sudo docker start Test_one
# Stop Container
sudo docker stop Test_one
# Pause Container
sudo docker pause Test_one
# Unpause Container
sudo docker unpause Test_one
# Execute into Container (Make Sure Container Running)
sudo docker exec -it Test_one bash
# Show Informations of Container
sudo docker inspect Test_one
# Delete Container (Make Sure Container Stopping)
sudo docker rm Test_one
Docker 创建内部网段
# Docker Default IP 172.17.0.1
# Create Docker Python Container IP 172.18.0.1
# Create Docker MySQL Container IP 172.19.0.1
# Create Network
sudo docker network create --subnet=172.18.0.0/16 mynet
sudo docker network rm mynet
# Show Created-Network
sudo docker network ls
Docker Python 镜像创建
# Creat Container
# -it: Interaction
# -p: Root_Port connect Container_Port
# -v: Root_Dir connect Container_Dir
# --name: Container Name
# --net: Network Choose
# --ip: IP set
# -d: Container Running BackStage
sudo docker run -it -v ~/DockerLinkDir:/root/Test -p 9500:5000 --name=Test --net mynet --ip 172.18.0.2 python:3.7 bash
sudo docker run -it -d -v ~/DockerLinkDir:/root/Test -p 9500:5000 --name=Test --net mynet --ip 172.18.0.2 python:3.7 bash
Docker MySQL 镜像创建
# -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install mysql-connector-python
pip install sqlalchemy
sudo docker run -d -v ~/DockerProject/TestSQLDir:/var/lib/mysql -p 4306:3306 --name=TestSQL --net mynet --ip 172.18.0.3 -e MYSQL_ROOT_PASSWORD=111111 mysql
Docker 补充
# Running PythonProgramme BackStage
nohup python app.py > logs.txt
服务器 Docker 命令行操作
Navicat 连接服务器DockerMySQL容器数据库