Docker常用操作

发布于:2025-05-28 ⋅ 阅读:(20) ⋅ 点赞:(0)

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

网站公告

今日签到

点亮在社区的每一天
去签到