Docker使用指南
Docker的安装
CentOS下安装docker
yum换源(这个换源只用配一次)
shell
# 备份原有的yum源配置文件
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
# 下载阿里云的yum源配置文件
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 清除 yum 缓存并重新生成缓存
yum clean all && yum makecache
# 更新软件包列表
sudo yum check-update
# 安装必要依赖包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加docker源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装docker
sudo yum install docker-ce
# 启动docker
systemctl start docker
# 设置自启动
systemctl enable dockerdocker完全删除
shell
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine docker-ceUbuntu下安装docker
shell
# 安装必要依赖包
apt-get install ca-certificates curl gnupg lsb-release
# 添加Docker官方GPG密钥
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# 添加Docker软件源
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# 更新软件包列表
sudo apt-get update
# 安装docker
apt-get install docker-ce docker-ce-cli containerd.io
# 配置用户组(可选)
# 默认情况下,只有root用户和docker组的用户才能运行Docker命令。我们可以将当前用户添加到docker组,以避免每次使用Docker时都需要使用sudo。命令如下:
sudo usermod -aG docker $USER
# 启动docker
systemctl start docker
# 设置自启动
systemctl enable docker配置docker镜像加速器
配置 daemon.json
创建docker文件夹
shellmkdir -p /etc/docker创建daemon.json
shelltouch /etc/docker/daemon.json编辑daemon.json
shellvim /etc/docker/daemon.json输入以下内容
json{ "registry-mirrors": ["https://1ms.run","https://xdark.top","https://fast360.xyz"] }保存退出并重新加载
shellsystemctl daemon-reload systemctl restart docker
Docker操作
镜像操作部分
shell
dokcer pull name:tag
doker push name:tag
docker run ...
docker rmi image
docker images数据卷操作部分
shell
docker volume ls
docker volume inspect
docker volume rm name
docker volume create name
docker volume prune
docker volume --help容器操作部分
shell
docker start name
docker stop name
docker pause name
docker unpause name
docker logs name
docker ps [-a]
docker rm ...docker命令查看
shell
docker --helpDocker构建镜像
Dockerfile文件
Dockerfile文件示例
Dockerfile
FROM python:3.8-slim-buster
WORKDIR /app
COPY . .
RUN pip3 install -r requirements.txt
CMD ["python3", "app.py"]FROM: 基础镜像WORKDIR: 镜像内工作目录CPOY: 将宿主机上的文件复制到容器内的目录下"."表示当前目录的所有文件
RUN: 在构建镜像时执行的命令CMD: 在运行时执行的命令
构建镜像
shell
docker build -t name:tag . [-f Dockerfile]
-t表示指定镜像名称和版本 name:tag表示镜像名称和版本.表示当前目录-f指定Dockerfile文件名(默认为Dockerfile)
Docker应用实例
els创建网络:
shell
docker network create es-netels创建容器命令:
shell
docker run -d \
--name es \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
-e "discovery.type=single-node" \
-v es-data:/usr/share/elasticsearch/data \
-v es-plugins:/usr/share/elasticsearch/plugins \
--privileged \
--network es-net \
-p 9200:9200 \
-p 9300:9300 elasticsearch:7.12.1 \
-e "cluster.name=es-docker-cluster":设置集群名称kibana创建容器命令:
shell
docker run -d --name kibana -e ELASTICSEARCH_HOSTS=http://es:9200 --network=es-net -p 5601:5601 kibana:7.12.1下载analysis-ik分词器
shell
bin/elasticsearch-plugin install https://get.infini.cloud/elasticsearch/analysis-ik/7.12.1注: 容器不要删!!!!!
Redis启动命令
shell
docker run --name mr -p 6379:6379 -d redis redis-server --appendonly yesRabbitmq启动命令
shell
docker run -e RABBITMQ_DEFAULT_USER=#username -e RABBITMQ_DEFAULT_PASS=#password --name mq --hostname mq1 -p 15672:15672 -p 5672:5672 -d rabbitmq:3-management