ToB企服应用市场:ToB评测及商务社交产业平台
标题:
docker的安装及docker常用命令
[打印本页]
作者:
祗疼妳一个
时间:
2024-6-15 00:31
标题:
docker的安装及docker常用命令
环境先容
假造机环境: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 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
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4