CentOS Docker

安装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 缓存:
yum makecache
#安装 Docker-ce:
yum -y install docker-ce
#启动 Docker 后台服务
systemctl start docker
#设置 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
#FROM 表示以python:3.7.3作为基础镜像进行构建

MAINTAINER Fisher "tianxiang.yin@foxmail.com"
#MAINTAINER 作者信息

ENV LANG C.UTF-8
ENV GPG_KEY 97FC712E4C024BBEA48A61ED3A5CA953F73C700D
ENV PYTHON_VERSION 3.7.3
ENV PYTHON_PIP_VERSION 19.2.3
#ENV 在shell中设置一些环境变量

ADD ./requirements.txt /requirements.txt
#ADD 将文件添加到容器中,第一个requirements.txt为本地路径,第二个为容器路径

RUN pip install -U pip
RUN pip install -r /requirements.txt
RUN rm -f /requirements.txt
RUN mkdir /python
#执行shell命令

WORKDIR /python
#指定容器的默认工作路径

CMD python
#指定容器运行时的默认命令

`


CentOS Docker
https://www.intx.work/posts/13c66274.html
发布于
2025年4月25日
更新于
2025年6月29日
许可协议