docker的安装及docker常用命令

环境介绍

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 images

查看docker可安装的镜像

docker search {需要安装的镜像名称}

安装镜像

docker pull {需要安装的镜像名称}:{版本}

删除镜像

docker rmi {镜像名称或镜像ID}

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 stop {容器名称或容器ID}

删除容器

docker rm -f {容器名称或容器ID}

容器和主机之间的文件复制

#将主机文件复制进容器
docker cp 主机文件路径 {容器名称或容器ID}:容器内路径
#将容器文件复制进主机
docker cp{容器名称或容器ID}:容器内路径 主机文件路径 

docker网络命令

创建docker网络

# 创建一个桥接网络
docker network create -d bridge {网络名称}
# 创建一个主机网络
docker network create -d host {网络名称}

查看docker网络

docker network ls

删除docker网络

docker network rm {网络名称或网络ID}

docker其他命令

启动docker

systemctl start docker

开机docker自启动

systemctl enable docker

重启docker

systemctl restart docker

查看docker版本信息

docker -version

查看docker系统信息

docker info

查看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 ps

docker compose停止容器

# 停止所有容器
docker-compose stop
#停止并删除所有容器
docker-compose down

docker compose启动容器

docker-compose start

docker compose重启容器

docker-compose restart

docker compose删除容器

docker-compose rm 

docker compose yaml配置示例

挂载时要将主机的文件权限放开

chmod 777 {fileName}

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值