1、使用yum安装Docker
yum update -y
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum install -y yum-utils device-mapper-persistent-data lvm2
#安装docker-ce(社区版)
yum -y install docker-ce
#启动docker服务
systemctl status docker
systemctl start docker
#设置开启自启动
systemctl enable docker
2、使用apt安装docker
apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
apt install -y docker-compose && systemctl start docker && systemctl enable docker
3、使用yum安装docker-compose
yum install -y epel-release
yum install -y docker-compose
4、使用apt安装docker-compose
sudo apt update
sudo apt install docker-compose-plugin
# 验证
docker compose version
使用apt安装的docker-compose有时候会报错报错KeyError: 'ContainerConfig,无法删除容器,需手动删除,猜测可能是版本问题,先卸载已有的docker-compose:
sudo apt purge docker-compose
然后使用如下方式重新安装:
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
uname -s会返回你的操作系统名称。echo $(uname -s)
uname -m则会返回你的硬件架构。echo $(uname -m)
参考文档:https://blog.csdn.net/lpy13699855019/article/details/139746249
5、docker创建基础服务
#数据库服务
#mariadb
docker run --name mariadb --net=host -v /data/code/mariadb_data:/var/lib/mysql -v /data/code/mariadb_conf:/etc/mysql/conf.d -e MARIADB_ROOT_PASSWORD=1qaz@WSX3edc. -d mariadb:10.8.2
#mysql
docker run --name mysql -p 3306:3306 --restart=always -e MYSQL_ROOT_PASSWORD=1qaz@WSX3edc. -d mysql:5.7
#postgresql
docker run --name postgres -e POSTGRES_PASSWORD=1qaz@WSX3edc. -v postgres:/var/lib/postgresql/data -e TZ=Asia/Shanghai -p 54321:5432 -d postgres:11
#redis
docker run -d -p 6379:6379 --name redis --restart=always redis:3.2.10 --requirepass 1qaz@WSX3edc.
#minio
docker run --name minio \
-p 9000:9000 \
-p 9999:9999 \
-d --restart=always \
-e "MINIO_ROOT_USER=minioadmin" \
-e "MINIO_ROOT_PASSWORD=minioadmin" \
-v /data/minio/data:/data \
-v /data/minio/config:/root/.minio \
minio/minio server /data \
--console-address '0.0.0.0:9999'
6、docker创建Java服务
docker run -itd --name report-code --network=host --restart=always -e TZ=Asia/Shanghai -v /data/report-code:/data/report-code -w /data/report-code openjdk:8 java -jar aj-report-1.2.1.RELEASE.jar --spring.config.location=bootstrap.yml
7、给运行中的容器添加–restart=always
docker update --restart=always 容器名字/容器id
8、Docker 修改系统语言
FROM ubuntu:16.04
RUN apt-get update
RUN apt-get install -y locales
RUN locale-gen zh_CN.UTF-8
ENV LANG zh_CN.UTF-8
ENV LANGUAGE zh_CN:zh
ENV LC_ALL zh_CN.UTF-8
RUN update-locale LC_ALL=zh_CN.UTF-8 LANG=zh_CN.UTF-8
#docker 修改时间
docker cp /usr/share/zoneinfo/Asia/Shanghai mariadb:/etc/localtime
9、docker镜像重命名
docker tag 8ef370098394 mysql:v8.0
10、docker build构建镜像
docker build -t dax-start:latest -f ./Dockerfile .
-f,--file 指定 dockerfile 路径
-t 指定镜像名
11、保存镜像
docker save -o xd_gb_platform.tar 368fefc10e37 registry.cn-hongkong.aliyuncs.com/zxiat-amd64/xd_gb_platform:2024-01-09-1c2d655
12、加载镜像
docker load -i xd_gb_platform.tar
13、删除所有容器
docker container prune -f
14、删除所有镜像
docker rmi -f $(docker images -q)
15、删除docker images中为none的镜像
docker images|grep none|awk '{print $3 }'|xargs docker rmi
16、查询镜像
docker search elasticsearch-head
17、查看docker容器日志
#根据时间查看日志
docker logs --since="2024-06-30T16:00:00" --until "2024-07-01T12:00:00" 5cf260dec14a
docker logs --since="2024-06-30T16:00:00" --until "2024-07-01T12:00:00" 5cf260dec14a >>test.log
#根据关键字查看日志
docker logs 容器id | grep -A 10 '处理失败' # 打印匹配行的后10行
docker logs 容器id | grep -B 10 '处理失败' # 打印匹配行的前10行
docker logs 容器id | grep -C 10 '处理失败' # 打印匹配行的前后10行
18、docker镜像拉取
docker pull milvusdb/milvus:v2.2.0
19、docker-compose中定义变量
java-test:
image: java-test:${VERSION}
container_name: java-test
restart: always
environment:
# 时区上海
TZ: Asia/Shanghai
ports:
- "19207:19207"
volumes:
# 配置文件
- /docker/java-test/logs/:/java/test/logs
# skywalking 探针
- /docker/skywalking/agent/:/ruoyi/skywalking/agent
privileged: true
network_mode: "host"
使用docker-compose文件启动服务
VERSION=1.8 docker-compose up -d java-test
20、docker创建转码服务zlmedia
docker run -itd --name zlmedia --restart=always -e TZ=Asia/Shanghai -p 6080:80 -p 10443:443 -p 10935:1935 -p 19351:19350 -p 10554:554 -p 10554:554/udp -p 10332:332 -p 10332:332/udp -p 10010:10000 -p 10010:10000/udp -p 30000-30500:30000-30500/udp -p 30000-30500:30000-30500/tcp panjjo/zlmediakit