无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 904|回复: 12
打印 上一主题 下一主题

[原创] docker学习记录

[复制链接]
跳转到指定楼层
1#
发表于 2025-2-18 20:44:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

将此容器commit保存:为镜像
docker commit 82a736a31028 anaconda
        格式:docker commit container-id new-name 镜像


使用docker tag命令为镜像创建一个新的标签,格式为:docker tag <原镜像名>:<原标签> <新镜像名>:<新标签>
docker tag b1d9df8ab815   ubuntu:24.04
导出镜像
C:\>docker save ubuntu:latest  > d:\ubuntu\ubuntu.tar

导入镜像
C:\>docker load < j:\autosshnginx.tar
Loaded image: ubuntu:latest
查看导入的镜像
C:\>docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
ubuntu       latest    e4c58958181a   2 weeks ago   77.8MB

运行导入的镜像
C:\>docker run -it ubuntu
root@d4a5e6ac1ca5:/#

root@e63d89aab255:/# apt install net-tools 安装ifconfig

root@e63d89aab255:/# apt install iputils-ping 安装ping


root@e1943e742b76:/proc# grep device-mapper /proc/devices
252 device-mapper


docker export  3d74b940a153 -o h:\python3.10unubuntu.tar
docker export  90d965b42361  >d:\runubuntu.tar

1. 删除指定容器
docker rm -f <containerid>
2. 删除未启动成功的容器
docker rm $(docker ps -a|grep Created|awk '{print $1}')
或者
docker rm $(docker ps -qf status=created)
3. 删除退出状态的容器
docker rm $(docker ps -a|grep Exited|awk '{print $1}')
或者

docker rm $(docker ps -a -q) #正在运行的删除不了,所有未运行的都被删除了
或者
docker container prune #Docker 1.13版本以后,可以使用 docker containers prune 命令,删除孤立的容器


docker rename  源容器名  现容器名


查看运行容器
docker ps
1
查看所有容器
docker ps -a
1
进入容器
其中字符串为容器ID:

docker exec -it d27bd3008ad9 /bin/bash
1
1.停用全部运行中的容器:
docker stop $(docker ps -q)
1
2.删除全部容器:
docker rm $(docker ps -aq)
1
3.一条命令实现停用并删除容器:
docker stop $(docker ps -q) & docker rm $(docker ps -aq)

启动曾经运行的容器
docker start  0049707732ce

vi /etc/apt/sources.list




apt install python3-pip



systemctl   status docker

systemctl restart  docker

启动docker:systemctl start docker

停止docker:systemctl stop docker
开机启动docker:systemctl enable docker




sudo apt-get install docker-ce docker-ce-cli containerd.io  安装
alias python='/usr/bin/python3.10'
apt-get update
更新源
apt-get upgrade
更新软件
apt install software-properties-common

1.
1.
install the package maintainer's version4.
安装包维护者的version4。
show a side-by-side difference between the versions2.
显示两个版本之间的并排差异。
keep the local version currently installed5.
保持当前安装的本地版本5。
start a new shell to examine the situation3.
启动一个新的shell来检查情况。
show the differences between the versions
显示版本之间的差异

add-apt-repository ppa:deadsnakes/ppa
apt install python3.10

‌Ubuntu下载的软件包通常存储在/var/cache/apt/archives/目录下‌。通过apt-get或软件中心下载的软件包会存放在这个位置。如果需要清理这些下载的软件包,可以使用sudo apt-get autoclean命令删除过时的deb包,使用sudo apt-get clean命令删除所有下载的软件包。‌
1、进入/etc/apt 目录: cd /etc/apt

2、备份源的配置文件:cp /etc/apt/sources.list /etc/apt/sources.list.bak



$sudo apt-get install aptitude

sudo apt-get install curl



sudo apt-get install snap
sudo snap install snap-store
sudo snap refresh snap-store


docker system df -v

docker run:运行一个 Docker 容器。

--name my_nginx:为容器指定名称为my_nginx。

-d:以守护进程模式运行容器(在后台运行)。

-p 8089:80:将宿主机的8089端口映射到容器的80端口。
-v /data/nginx/html:/usr/share/nginx/html:将宿主机的/data/nginx/html目录挂载到容器的/usr/share/nginx/html目录,实现数据共享。

-v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:将宿主机的/data/nginx/conf/nginx.conf文件挂载到容器的/etc/nginx/nginx.conf文件,实现配置文件的挂载。

-v /data/nginx/conf.d:/etc/nginx/conf.d:将宿主机的/data/nginx/conf.d目录挂载到容器的/etc/nginx/conf.d目录。

-v /data/nginx/logs:/var/log/nginx:将宿主机的/data/nginx/logs目录挂载到容器的/var/log/nginx目录。

nginx:指定要运行的 Docker 镜像为nginx。

service nginx status


docker  run -it   --name nginx  -p 80:80 -p 21:21 --restart=always   autosshnginx
不成立vim /etc/rc.local
#!/bin/bash
#sleep 2
service ssh start
chmod +x /etc/rc.local
chmod +755



apt install build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev
tar xvf Python-3.10.11.tgz
cd Python-3.10.11
./configure --enable-optimizations
make -j8
make altinstall
./configure --prefix=/usr/local/py3.10
ln -s /usr/local/py3.10/bin/python3.10  /usr/bin/python3.10

开机启动

/root/.bashrc
# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
service ssh start
service nginx start

if [ -f ~/sh.sh ]; then
    . ~/sh.sh
fi
/root/sh.sh

#!/bin/bash

service ssh start
service nginx start





禁止 var/cache/apt/archives  .deb 自动清理

etc/apt/apt.conf.d
docker-clean
//DPkg::Post-Invoke { "rm -f /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin || true"; };
//APT::Update::Post-Invoke { "rm -f /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin || true"; };

用新镜像开启新容器
docker run -i -t -d --name 你想起的容器名字 -p 2000:20 -p 2100:21 -p 8000:80 -p 4430:443 -p 8880:888 -p 8888:8888 -p 38444:38444 -p 2200:22 -p 2300:23 -p 2500:25 -p 3306:3306 -p 6379:6379 -p 9501:9501 -p 9502:9502 -p 9503:9503 -p 9504:9504 -p 9505:9505 --privileged=true -v /e/baota:/www/wwwroot 你起的镜像名字
创建容器常用的参数说明:

创建容器命令:docker run

-i:表示运行容器

-t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。

--name :为创建的容器命名。

-v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。

-d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)。

-p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射
ps -e |grep ssh
netstat -nutpl | grep 22
apt-get install openssh-server






2#
发表于 2025-2-18 23:42:25 | 只看该作者
谢谢分享
回复

使用道具 举报

3#
发表于 2025-2-18 23:42:42 | 只看该作者
学习了
回复

使用道具 举报

4#
发表于 2025-2-19 00:30:01 | 只看该作者
podman
回复

使用道具 举报

5#
发表于 2025-2-19 05:54:31 来自手机 | 只看该作者
很好 谢谢楼主分享 学习了
回复

使用道具 举报

6#
发表于 2025-2-19 07:37:05 | 只看该作者
谢谢楼主分享
回复

使用道具 举报

7#
发表于 2025-2-19 10:15:39 | 只看该作者
谢谢楼主分享
回复

使用道具 举报

8#
发表于 2025-2-19 10:21:47 | 只看该作者

谢谢楼主分享
回复

使用道具 举报

9#
发表于 2025-2-21 11:02:40 | 只看该作者
谢谢您的分享
回复

使用道具 举报

10#
发表于 2025-2-21 11:15:58 | 只看该作者
多谢楼主分享的学习记录
回复

使用道具 举报

11#
发表于 2025-2-23 09:18:21 | 只看该作者
谢谢楼主,学习了。另外nas和路由器连硬盘,哪个更适合小白。
回复

使用道具 举报

12#
发表于 2025-2-23 09:31:58 | 只看该作者
围观学习
回复

使用道具 举报

13#
发表于 2025-2-23 10:20:16 | 只看该作者
先了解一下docker,感谢楼主分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-4-2 03:48

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表