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 docker
docker完全删除
shell
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine docker-ce
Ubuntu下安装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 --help
Docker构建镜像
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-net
els创建容器命令:
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 yes
Rabbitmq启动命令
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