跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • Docker傻瓜使用速成
未分類
5 9 月 2021

Docker傻瓜使用速成

sRGB 大佬有话说 :

Docker傻瓜使用速成

本帖最后由 sRGB 于 2021-9-4 16:49 编辑

# Docker 一键安装命令
curl -fsSLo- get.docker.com | /bin/sh

# 运行 hello-world 检查Docker引擎是否安装
docker run hello-world

# 运行一个 Ubuntu 容器
docker run -it ubuntu bash

# 显示所有的容器
docker ps -a

# 显示本机镜像
docker images

# 查看Ubuntu镜像的历史
docker history hello-world

# 查看镜像的历史
docker history ubuntu

#删除所有容器
docker rm-f$(docker ps -qa)

#删除所有镜像
docker rmi -f$(docker images -qa)

———————————–

# 国内使用阿里云镜像
wget get.docker.com -O get.docker.sh
bashget.docker.sh–mirror Aliyun

# 使用国内镜像,显示deb包 源为 mirrors.aliyun.com
cat/etc/apt/sources.list.d/docker.list
deb https://mirrors.aliyun.com/docker-ce/linux/debian buster stable

镜像下载修改 vim /etc/docker/daemon.json 添加 国内源,网上可以查

限制日志大小, vim /etc/docker/daemon.json里设置
没有去用过,使用脚本 自动删除也是可以的

———————————————————-
Docker 不是虚拟机,所以使用 htop 工具,是可以看到容器中运行的程序,运行的服务程序实际还是在宿主机上的,只是 Docker 容器挂载了虚拟的文件系统,Docker中的程序是和宿主机其他程序 文件系统隔离的。

https://s3.bmp.ovh/imgs/2021/09/d0f92780aa4e7ae4.png

如图使用简单的命令,可以 进入 一个当前活动的容器的 root 目录,可以看到/var/lib/docker/overlay2/ed3….. /merged 是这个容器的 / 根目录

df -h
cd /var/lib/docker/overlay2/ed3b19ce3a1402bd9a09ccde057145129714e5e70e7f6255e3d96e73feb9b50e/merged
ls

——————————————————–
docker安装后有2个重要目录/var/lib/docker/containers   /var/lib/docker/overlay2   

docker ps -a   运行后 会显示CONTAINER ID< ba5148927a1e>    ba5148927a1e 就是 hello-world 这个容器的 ID
/var/lib/docker/containers/ba5148927a1e98322f8628650e8ef3b3ddd38e88bb59669dadf82433e932be7a    (ID前缀的这个长目录就还是容器目录)
里面保存了这个容器的配置,主要保存在config.v2.json文件中,   ID前缀….log 就是这个容器的 运行日志
docker logsba5148927a1e就能查看日志

——————–

还有就是新手 在目前国内环境,python3和库环境不一定能装好
Python3 With Network Library ( html2text scrapy beautifulsoup4 ipip-ipdb )
所以请在虚拟机里安装个 docker ,使用我制作的 python3 容器镜像

docker run -d–restart=always -v /app:/app–name python3   hongwenjun/python3python3 -m http.server 8000

然后使用 这样命令 交互模式学习

docker exec -it python3python3 -i me.py

https://s3.bmp.ovh/imgs/2021/09/1842ccacd8ee752a.png
这个镜像的 Dockerfile 里面已经安装学习爬虫够用的网路库
# 直接使用github上的Dockerfile 来编译构建 镜像
docker build -t python3https://raw.githubusercontent.com/hongwenjun/nginx-php/main/python3/Dockerfile

6fyC8r 大佬有话说 :

本帖最后由 6fyC8r 于 2021-9-4 15:40 编辑

我来补充一下吧,
如何查看并干净卸载所有容器和docker

1,查看所有运行的容器:

docker ps -a

2,停止所有容器,并删除所有容器

docker stop $(docker ps -q) & docker rm $(docker ps -aq)

3,删除所有镜像

docker rmi $(docker images -q)

4,卸载docker

apt-get purge docker-ce

apt-get purge docker-ce-cli

apt-get purge containerd.io

5,检查是否卸载完成

apt list –installed | grep docker

apt list –installed | grep containerd.io

6,删除残余文件

rm -rf /var/lib/docker

rm -rf /var/run/docker

rm -rf /etc/docker

rm -rf /run/docker.sock

rm -rf /var/lib/containerd

rm -rf /run/containerd

rm -rf /opt/containerd

法外狂徒张三 大佬有话说 :

关闭、开机、重启容器的呢

sRGB 大佬有话说 :

本帖最后由 sRGB 于 2021-9-4 11:55 编辑

https://s3.bmp.ovh/imgs/2021/09/893f9a580a4600f5.png

Portainer是Docker的图形化管理工具,提供状态显示面板…..

# 查询当前有哪些Portainer镜像
docker search portaine

# 安装Docker可视化界面Portainer
docker run –name Portainer   portainer/portainer   …省略

# 删除Portainer服务
docker rm-f Portainer
docker rmi portainer/portainer

Tip 大佬有话说 :

请问docker怎么备份和传数据呢

sRGB 大佬有话说 :

Tip 大佬有话说 : 2021-9-4 09:32
请问docker怎么备份和传数据呢

# 进入 mysql 容器
docker exec -it zfaka_mysql_1 bash

# MySQL数据库备份
mysqldump-uroot -p密码(mysql) –databases faka> /tmp/faka.sql

# 退出容器,进入宿主机zfaka目录 打包程序和数据
cd /opt/zfaka
docker cp zfaka_mysql_1:/tmp/faka.sql.

tar cvzfzfaka.tar.gz   code/faka.sqldocker-compose.yml

Docker mysql 可以不用进入容器直接在宿主机备份数据
docker exec -i zfaka_mysql_1mysqldump-uroot -p密码(mysql) –databases faka> /opt/zfaka/zfaka_bak.sql

# 可以配合定时脚本,用来每周备份数据库等
TODAY=$(date +%Y)$(date +%m)$(date +%d)
mkdir -p $(pwd)/$TODAY && cd $(pwd)/$TODAY
docker exec -i zfaka_mysql_1mysqldump-uroot -p密码(mysql) –databases faka> faka.sql

lvywiki 大佬有话说 :

看一下

ygongt74 大佬有话说 :

还是docker方便,最近在学习这方面的知识。

sRGB 大佬有话说 :

法外狂徒张三 大佬有话说 : 2021-9-4 09:23
关闭、开机、重启容器的呢

建立容器的时候 可以指定一个 容器名称,不指定 就使用   hash 字符的 作为 ID号

dockerstop    name(或者ID,使用name会简单点)
dockerstart    name
dockerrestart   name

—————————–
# 宿主机和容器互相复制文件
docker cp name:/root/a.txt   /root/a.txt
docker cp /root/a.txt   name:/root/a.txt   

zjonetop 大佬有话说 :

不错,帮顶

在也不买小鸡了 大佬有话说 :

loc需要这种帖子

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具