惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
Microsoft Security Blog
Microsoft Security Blog
Recent Announcements
Recent Announcements
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Last Week in AI
Last Week in AI
罗磊的独立博客
腾讯CDC
云风的 BLOG
云风的 BLOG
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
宝玉的分享
宝玉的分享
U
Unit 42
I
InfoQ
D
DataBreaches.Net
Blog — PlanetScale
Blog — PlanetScale
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
V2EX
美团技术团队
IT之家
IT之家
Stack Overflow Blog
Stack Overflow Blog
F
Fortinet All Blogs
GbyAI
GbyAI
S
SegmentFault 最新的问题

碎言

不懂就别瞎掰掰:【程序员的常识】写的什么玩意? PrimaryOralMathPack 小学生口算题生成器 AI 辅助编程下的程序设计与代码编写 使用 Next.js 和 Tailwind CSS 构建可编辑和删除的 ToDo 待办事项应用 探索编程新境界:MarsCode 助你一臂之力 使用 Next.js 和 Tailwind CSS 搭建静态图片展示站点并部署到 Vercel AI 辅助编程:免费工具的优缺点及官网一览 GitHub push更新总是失败,写个python脚本解决 把博客从GitHub迁移到到了vercel ComfyUI 和 Flux.1 安装与使用教程 Flux.1 入门必知:硬件、环境、模型 Git项目的子文件夹中的内容无法同步到远程仓库的解决方法 blender流体Fluid使用中没有流体、流体穿模等一些问题的解决方法 博客聚合网站:积薪,竟然关闭了! blender日常使用中的一些技巧 虽然只有我自己在用,但还是更新了碎言博客的源代码, 与其在迷茫中困惑,不如在努力中前进 差点忘了我还有一个博客... 秧歌、博客和AI 终于熬到了新手上路 好久没有更新博客了。。。 老妈大腿骨骨折,最近一直在医院护理 Hello, September! Ubuntu开机自动启动Docker容器运行WordPress Docker 简单快速安装部署WordPress Docker下安装MySQL 加碘盐能防核辐射的话,还怕什么核战争? shields.io 一个简洁、一致、清晰的徽章 Ubuntu下使用root登录ssh的设置 GitHub Actions 构建、部署 Next.js项目
Docker基础学习笔记和常用命令汇总
J.sky · 2023-07-31 · via 碎言

这是一篇Docker的学习笔记,记录了Docker一些日常操作。

Docker 安装

Ubuntu 22 安装Docker过程记录

Docker常用命令

docker version        # 显示docker的版本信息
docker info              # 显示docker的系统信息,包括镜像和容器的数量
docker 命令 --help         # 帮助命令

docker search  # 搜索镜像
docker pull #下载镜像
docker rmi image #删除镜像

docker ps # 列出正在运行的容器
docker ps -a #如果你想查看所有包括已经停止的容器,可以使用 -a 参数
docker inspect <container_id_or_name> #查看容器的详细信息

删除容器:

删除单个已停止的容器:
bash
Copy code
docker rm <container_name_or_id>
如果你想在删除容器时同时删除关联的卷(volumes),可以添加 -v 参数:

bash
Copy code
docker rm -v <container_name_or_id>
批量删除多个容器(注意:这将删除所有指定的容器,无论它们是否在运行状态):

bash
Copy code
docker rm <container_name_or_id> <container_name_or_id> ...
删除所有已停止的容器(慎用,这将删除所有处于停止状态的容器):

bash
Copy code
docker container prune

docker run image #启动容器
docker run -d image #后台启动容器

1. 交互式模式运行 Ubuntu 容器: 
docker run -it --name my_ubuntu ubuntu:latest

2.  后台运行一个 Web 应用容器,将容器内部的 80 端口映射到主机的 8080 端口: 
docker run -d -p 8080:80 --name web_app nginx:latest

3.  将主机上的目录挂载到容器内部,以便实现数据持久化: 
docker run -v /host/path:/container/path -d --name data_container ubuntu:latest

4.  设置环境变量并运行容器: 
docker run -e ENV_VAR=value --name env_container ubuntu:latest

5.  指定容器的重启策略为始终重启: 
docker run --restart always --name restart_container ubuntu:latest

docker exec -it 容器id /bin/bash #进入当前容器
docker start 容器id        # 启动容器
docker restart 容器id    # 重启容器
docker stop 容器id        # 停止当前正在运行的容器
docker kill 容器id        # 强制停止当前容器


docker logs -tf --tail 容器id # 查看日志
docker inspect 容器id #查看容器内容

docker run [可选参数] image
# 参数说明
--name="name"        容器名字:用来区分容器
-d                    后台方式运行:相当于nohup
-it                    使用交互式运行:进入容器查看内容
-p                    指定容器的端口(四种方式)小写字母p
    -p ip:主机端口:容器端口
    -p 主机端口:容器端口
    -p 容器端口
    容器端口
-P                     随机指定端口(大写字母P)

安装mysql

# docker 中下载 mysql
docker pull mysql

#启动
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=Lzslov123! -d mysql

#进入容器
docker exec -it mysql bash

#登录mysql
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'suiyan';

#添加远程登录用户
CREATE USER 'suiyan'@'%' IDENTIFIED WITH mysql_native_password BY 'suiyan.cc';
GRANT ALL PRIVILEGES ON *.* TO 'liaozesong'@'%';

安装Ubuntu

sudo docker pull ubuntu

sudo docker images

sudo docker run -itd --name tu ubuntu:latest

sudo docker exec -it 52b9 /bin/bash # 进入容器Ubuntu

exit #推出

sudo docker stop 容器ID #停止Ubuntu容器

总体来说,docker的安装和使用还是很简单的,上手操作一下,半小时就能入手了。