容器
ubuntn 偶数版本为长时间服务版本 LTS
/etc/netplan/**
netplan apply
桥接必须要和物理机同一个网端
NAT vmnet8 一个网段
/etc/apt/sources.list
所有deb:改成https://mirrors.aliyun.com/ubuntu
apt update
apt -get install 软件名
apt install 软件名
apt remove 删除
ps ax进程
所有的service的文件 /usr/lib/systemd/system/
安装docker
https://docs.docker.com/desktop/linux/install/
分为DEB RPM 软件包
查看镜像
docker images
下载镜像
docker pull centos:7
docker pull busybox
docker pull httpd
docker imager 查看镜像
docker pull 下载
docekr pull 别的网站名/开发者/镜像:版本号
docker search(色吃)不去网站直接在在终端查看镜像 后面带ok官方镜像
docker search --filter is-offical=true ubuntu
查看所有官方发布的ubuntu镜像
只要前三个 --limit
产开描述 --no-trunc
搜别的网站docker search quay.io/rhel 网站后面跟镜像名
docker搜不了版本号(tag泰哥)
可以用一个脚本(官方不允许查看版本)
vim docker-tag.sh chmod +x docker-tag.sh
使用的话 ./docker-tag.sh centos就会出版本号
#!/bin/sh
#
# Simple script that will display docker repository tags.
#
# Usage:
# $ docker-show-repo-tags.sh ubuntu centos
for Repo in $* ; do
curl -s -S "https://registry.hub.docker.com/v2/repositories/library/$Repo/tags/" | \
sed -e 's/,/,\n/g' -e 's/\[/\[\n/g' | \
grep '"name"' | \
awk -F\" '{print $4;}' | \
sort -fu | \
sed -e "s/^/${Repo}:/"
done
mv docker-tag.sh docker-tag
mv docker-tag.sh /usr/local/sbin/(放在系统路径下)
镜像改名
docker tag 镜像名字:版本号 flannel:latest要改的
删除镜像
docker rmi 镜像名:版本号
docker rmi id (不是唯一的只能用上面那个方法)
导出镜像存到本地
docker save(c一) -o centos.tar centos:7
文件名 镜像 版本号
导入镜像
docker load(隆) --input(英普) centos.tar文件名
运行镜像
docker run(ruang) 镜像名:版本号
(除非tag是latest否则必须加版本号)
docker create -it 不能用-d -d是立马运行
没有的镜像会自动下载
docker start 容器名
docker run 命令 (必须是镜像里拥有的命令)
docker ps查看容器
docker ps -a 查看所有
docker ps -a -f "status=exited"
过滤退出状态的
docker ps -a -f "status=created"
过滤创建好的
查看镜像的历史
docker history 镜像:版本号
占用终端就是没结束 不占用终端就是结束
让终端占用终端
docker run -i (交互)-t(打开一个终端) --name 名字 --hostname 名字 镜像:版本号 bash
docker run -itd(d:前台后台分开)
docker ps
docker attach(啊太时) id 或者名字 这是进入容器
exit
docker start 名字
docker restart 名字
docker stop 名字
docker kill 名字
docker pause 名字 挂起
docker unpause 名字 解决挂起
docker run -itd -name 名字 -restart always 镜像:版本号 bash
docker启动容器跟随启动
docker exec(哎课赛特) 不进容器执行命令
docker exec -it bash
删除容器
docker rm 容器名或者id
正在运行的 rm -f 或者先停止再删除
docker ps -a -q(所有短id)
删除所有容器
docker rm -f $(docker ps -a -q)
安装的镜像没有外部命令
centos 是provides查询
yum provides 要查的命令 -y
属于哪个软件包
然后再yun install 软件包 就能使用命令了
ubuntu
先apt update
apt install apt-file -y (安装查找软件)
apt-file update
搜索apt-file search 要查找的命令
过滤 apt-file search 要查找的命令 | grep bin (包含sbin)
apt install 对应的软件包 -y
做成新的镜像 docker commit(可密特) 镜像名 开发者/新的镜像名-镜像增加的软件包名:版本号(latest)
如果想直接启动新做的镜像的软件服务时可以给它添加一个进程保证生命周期 例如
docker run -itd -name 名字 新的镜像名:版本号 sh -c "nginx && tail -f /usr/local/nginx/local/error.log"
这样这个容器就不会立马结束 一般还是使用bash
导出模板
docker export -o 文件名 容器名
或者
docker export 容器名 > 文件名
导入模板
docker import 文件名 镜像名:版本号