文章目录
前言
Docker是一个开源的应用容器引擎,属于Linux容器的一种封装,是目前最流行的Linux容器解决方案。docker可以为任何应用创建一个轻量级、可移植的容器,然后容器可以运行在任何安装有docker的平台上。
提示:以下是本篇文章正文内容,下面案例可供参考
一、安装docker环境
1.安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
2.添加docker下载源
#添加docker官方源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum makecache fast
#添加国内阿里云下载节点(国内阿里云的源下载较快)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
3.安装docker
本文安装时社区版。Docker-CE指Docker社区版,为免费版本。Docker-EE指Docker企业版,为收费版本。
yum -y install docker-ce
4.创建daemon文件
docker安装好后默认没有此文件,需要手动创建,添加镜像节点并指定docker存储目录
mkdir -p /data/docker
mkdir -p /etc/docker
vim /etc/docker/daemon.json
#daemon.json文件内容如下:
{
"registry-mirrors": ["https://registry.docker-cn.com"], "graph": "/data/docker"
}
5.启动docker
#启动docker
systemctl start docker
#设置开机启动docker服务
systemctl enable docke
6.docker常用命令
#启停docker
systemctl start docker
systemctl stop docker
systemctl restart docker
#列出所有容器
docker ps -a
##启停一个或多个已经被停止的容器
docker start redis
docker stop redis
docker restart redis
#进入容器交互模式
docker exec -it redis bash
#查询docker镜像
docker images
#删除镜像
docker rmi [镜像id]
#删除容器
docker rm [容器id]
二、定制镜像
1.创建Dockerfile文件
#创建dockerfile文件目录
mkdir -p /data/dockerfile
#创建Dockerfile文件(无扩展名)
vim /data/dockerfile/Dockerfile
#Dockerfile文件内容如下:(下面将centos系统python3环境定制为docker镜像)
FROM centos
ENV PATH $PATH:/usr/local/python3/bin/
ENV PYTHONIOENCODING utf-8
RUN set -ex \
&& yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make wget \
&& yum clean all \
&& mkdir /usr/local/python3 \
&& wget https://www.python.org/ftp/python/3.9.2/Python-3.9.2.tar.xz \
&& tar -xvJf Python-3.9.2.tar.xz && rm -f Python-3.9.2.tar.xz \
&& cd Python-3.9.2 \
&& ./configure prefix=/usr/local/python3 \
&& make && make install \
&& cd .. \
&& rm -rf Python-3.9.2 \
&& yum -y install vim \
2.创建新的镜像
注意:命令最后有个. 表示当前路径
docker build -t contos-python:1.1 .
3.创建并运行新的容器
docker run --name centos-python -dit contos-python:1.1 /bin/bash