环境先容
- 假造机环境:Oracle VM VirtualBox 7.0
- 终端连接:FinalShell 4.3
- Linux操作系统:ubuntu-22.04.4-live-server-amd64
- docker:docker 26.1.2
docker卸载
- # 卸载docker
- for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
- #卸载docker
- sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
- # 删除镜像、容器、卷、自定义配置
- sudo rm -rf /var/lib/docker
- sudo rm -rf /var/lib/containerd
复制代码 docker安装
- # 更新opt
- sudo apt-get update
- # 安装ca认证和curl传输工具
- sudo apt-get install ca-certificates curl
- # 创建一个目录/etc/apt/keyrings
- sudo install -m 0755 -d /etc/apt/keyrings
- # 下载 Docker 在 Ubuntu 系统上使用的 GPG 密钥
- sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
- # 将秘钥设置为只读
- sudo chmod a+r /etc/apt/keyrings/docker.asc
- # 将 Docker 的软件源添加到 APT 软件包管理器的源列表中,并将其保存到 /etc/apt/sources.list.d/docker.list 文件中
- echo \
- "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
- $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
- sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- # 更新opt
- sudo apt-get update
- # 安装最新版本docker引擎
- sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
- # 安装指定版本docker引擎
- #查看版本信息
- apt-cache madison docker-ce | awk '{ print $3 }'
- #安装指定版本的docker引擎
- VERSION_STRING=5:26.1.0-1~ubuntu.24.04~noble
- sudo apt-get install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin
- # 验证docker安装成功
- sudo docker run hello-world
复制代码 docker镜像命令
docker仓库地址:https://registry.hub.docker.com/,大概率必要科学上网。
查看docker可用的镜像
查看docker可安装的镜像
- docker search {需要安装的镜像名称}
复制代码 安装镜像
- docker pull {需要安装的镜像名称}:{版本}
复制代码 删除镜像
docker容器命令
-i: 交互式操作
-t: 终端
-d: 后台运行
-P:将容器内部使用的网络端口随机映射到我们使用的主机上。
-p:将容器内部使用的网络端口指定映射到我们使用主机上
-v:将主机数据卷挂载至容器内的某目次
-e:增加暂时配置
–name: 给容器指定一个名称
–restart=always:容器自动重启
查看容器
- ## 查看启动的容器
- docker ps
- # 查看所有容器
- docker ps -a
复制代码 启动容器
- # 启动容器
- docker run {镜像名称或镜像ID}
- # 创建一个交互式的容器并启动一个shell会话
- docker run -it {镜像名称或镜像ID} /bin/bash
- # 后台运行容器
- docker run -itd {镜像名称或镜像ID} /bin/bash
- #后台运行一个容器并将容器端口映射到主机指定端口
- docker run -d -p 5000:5000 {镜像名称或镜像ID}
- # 指定运行的容器使用主机网络
- docker run -d --network=host --name={容器名称} {镜像名称或镜像ID}
- # 启动一个已停止的容器
- docker start {容器名称或容器ID}
- # 重启一个已停止的容器
- docker restart {容器名称或容器ID}
复制代码 启动示例
- #myslq
- docker run -p 3306:3306 --name mysql \
- -v /mydata/mysql/log:/var/log/mysql \
- -v /mydata/mysql/data:/var/lib/mysql \
- -v /mydata/mysql/conf:/etc/mysql \
- --network=host \
- --restart=always \
- -e MYSQL_ROOT_PASSWORD=123456 \
- -d mysql:5.7
复制代码 进入容器内部
- docker exec -it {容器名称或容器ID} /bin/bash
复制代码 停止容器
删除容器
容器和主机之间的文件复制
- #将主机文件复制进容器
- docker cp 主机文件路径 {容器名称或容器ID}:容器内路径
- #将容器文件复制进主机
- docker cp{容器名称或容器ID}:容器内路径 主机文件路径
复制代码 docker网络命令
创建docker网络
- # 创建一个桥接网络
- docker network create -d bridge {网络名称}
- # 创建一个主机网络
- docker network create -d host {网络名称}
复制代码 查看docker网络
删除docker网络
- docker network rm {网络名称或网络ID}
复制代码 docker其他命令
启动docker
开机docker自启动
重启docker
查看docker版本信息
查看docker系统信息
查看docker容器日志
- # 实时跟踪容器日志
- docker logs -f {容器名称或容器id}
- # 显示最近100行容器日志
- docker logs --tail 100 {容器名称或容器id}
复制代码 docker compose安装
- # 更新apt
- sudo apt-get update
- # 安装compose插件
- sudo apt-get install docker-compose-plugin
- # 验证安装及查看版本
- docker compose version
复制代码 docker compose更新
- # 更新apt
- sudo apt-get update
- # 安装compose插件
- sudo apt-get install docker-compose-plugin
- # 验证安装及查看版本
- docker compose version
复制代码 docker compose卸载
- # 卸载docker compose
- sudo apt-get remove docker-compose-plugin
- # 删除docker compose相关配置
- rm /usr/local/lib/docker/cli-plugins/docker-compose
复制代码 docker compose启动
- # 启动所有容器
- docker-compose up
- # 后台启动所有容器
- docker-compose up -d
复制代码 docker compose查看容器
docker compose停止容器
- # 停止所有容器
- docker-compose stop
- #停止并删除所有容器
- docker-compose down
复制代码 docker compose启动容器
docker compose重启容器
docker compose删除容器
docker compose yaml配置示例
挂载时要将主机的文件权限放开
compose配置文件
- services:
- redis:
- container_name: redis_env
- image: redis:6.0
- command: redis-server /etc/redis.conf
- ports:
- - "6379:6379"
- networks:
- - bridge
- volumes:
- - /home/docker/environment/redis/conf/redis.conf:/etc/redis.conf
- - /home/docker/environment/redis/data:/data
- - /home/docker/environment/redis/log/redis.log:/var/redis.log
- restart: always
- networks:
- bridge:
- driver: bridge
复制代码 参考文章:
docker官网
https://geek-docs.com/redis/redis-ask-answer/645_redis_run_redis_with_persistent_storage_using_dockercompose.html
https://blog.csdn.net/Fly_wd/article/details/133870918
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |