安装Docker
1 2 3 4 5 6 7 8 9 10 11 12
| yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache
yum -y install docker-ce
systemctl start docker
systemctl enable docker
|
镜像加速
鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决,新版的 Docker 使用/etc/docker/daemon.json
(Linux) 或者 %programdata%\docker\config\daemon.json
(Windows) 来配置 Daemon。
请在该配置文件中加入(没有该文件的话,请先建一个):
1 2 3 4 5 6
| { "registry-mirrors": [ "https://docker.1ms.run", "https://docker.xuanyuan.me" ] }
|
删除Docker CE
执行以下命令来删除 Docker CE:
1 2
| yum remove docker-ce rm -rf /var/lib/docker
|
镜像命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| docker pull python:3.7.3 从仓库拉取镜像 python:3.7.3 镜像名称:TAG
docker images 查看本地镜像 REPOSITORY 表示镜像的仓库源(镜像名) TAG 镜像的标签(版本) IMAGE ID 镜像ID CREATED 镜像创建时间 SIZE 镜像大小
docker rmi docker.io/hello-world:latest 删除本地镜像 docker.io/hello-world:latest 仓库名称/镜像名称:TAG
docker search httpd 从仓库搜索镜像 httpd 镜像名称 NAME 镜像仓库源的名称 DESCRIPTION 镜像的描述 OFFICIAL 是否docker官方发布
docker commit -m="has update" -a="runoob" e218edb10161 runoob/ubuntu:v2 更新镜像 -m 提交的描述信息 -a 指定镜像作者 e218edb10161 容器ID runoob/ubuntu:v2 指定要创建的目标镜像名
docker build -t runoob/centos:6.7 . 构建镜像 -t 指定要创建的目标镜像名 . Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径
docker tag 860c279d2fec runoob/centos:dev 为镜像添加一个新的标签 860c279d2fec 镜像ID runoob/centos:dev 镜像名称:TAG docker save 37ad19d32bf3>python3.7.3.tar 将指定镜像保存成 tar 归档文件 37ad19d32bf3 镜像ID或名称 python3.7.3.tar 输出文件
docker load -i python3.7.3.tar 导入使用 docker save 命令导出的镜像 -i 指定导出的文件 -q 精简输出信息 python3.7.3.tar 导出文件
|
容器命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| docker run -d --name=agentserver -v $PWD:/python -p 40100:40100 impress/python:3.7.3 python agentserver.py -d 后台运行 --name 指定容器名称 -v $PWD:/python 挂载本地目录:将当前目录挂在到容器的/python目录 格式:宿主机目录:容器目录 -p(小写) 容器内部端口绑定到指定的主机端口,默认TCP 可以通过127.0.0.1:5000:5000/udp格式来绑定IP地址、端口、协议 格式:宿主机端口:容器端口 -P(大写) 容器内部端口随机映射到主机的高端口 impress/python:3.7.3 镜像名称:TAG python agentserver.py 执行指令
docker ps 查看正在运行的容器 -a 查看所有容器
docker port agentserver 查看容器端口映射状态 agentserver 容器名称或ID
docker top agentserver 查看容器内部运行的进程 agentserver 容器名称或ID
docker logs agentserver 查看容器内部的标准输出 agentserver 容器名称或ID -f 让 docker logs 像使用 tail -f 一样来输出容器内部的标准输出
docker stop agentserver 容器状态管理 agentserver 容器名称或ID stop 停止 start 开始 restart 重启
docker rm agentserver 删除容器 agentserver 容器名称或ID
|
Dockerfile
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| FROM python:3.7.3
MAINTAINER Fisher "tianxiang.yin@foxmail.com"
ENV LANG C.UTF-8 ENV GPG_KEY 97FC712E4C024BBEA48A61ED3A5CA953F73C700D ENV PYTHON_VERSION 3.7.3 ENV PYTHON_PIP_VERSION 19.2.3
ADD ./requirements.txt /requirements.txt
RUN pip install -U pip RUN pip install -r /requirements.txt RUN rm -f /requirements.txt RUN mkdir /python
WORKDIR /python
CMD python
|
`