Docker
黄鸭 2/19/2023 server
# 1.启动docker(背诵)
systemctl start docker
1
# 2.是否安装成功(背诵)
docker version
1
# 3.拉取远程hello-world镜像并运行(背诵)
docker run hello-world
1
# 4.查看镜像(背诵)
docker images
1
# 5.docker配置镜像(了解)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/deamo.json <<-'EOF'
{
"registry-mirros":["https://qiyb9988.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 6.docker系统信息
docker info
1
# 7.docker images含义
REPOSITORY 镜像仓库源
TAG 镜像的标签
IMAGE ID 镜像的id
CREATED 镜像的id
SIZE 镜像的大小
-a 列出所有镜像
-q 只显示id
1
2
3
4
5
6
7
2
3
4
5
6
7
# 8.搜索镜像
docker search mysql --filter=STars=3000
1
# 9.下载镜像指定版本
docker pull mysql:5.7
1
# 10.docker删除命令
docker rmi -f e73346bdf465
1
# 11.新建并启动容器
docker run centos
--name=“name” 容器名字
-d 后台方式运行
-it 交互方式
-p 指定容器端口 主机端口:容器端口
1
2
3
4
5
2
3
4
5
# 12.启动并进入容器
docker run -it centos /bin/bas
1
# 13.推出容器
exit
1
# 14.列出运行中的容器、
docker ps
-a带历史容器
-q只显示容器编号
-n=?显示最近创建的容器
1
2
3
4
2
3
4
# 15.不停止容器推出
ctrl+p+q
1
# 16.删除容器
docker rm 容器id
docker rm -f $(docker ps -aq)删除所有容器
docker ps -a -q |xargs docker rm 删除所有容器
1
2
3
2
3
# 17.启动容器
docker start 容器id
1
# 18.重启容器
docker restart 容器id
1
# 19.停止容器
docker stop 容器id
1
# 20.强制停止容器
docker kill 容器id
1
# 21.后台启动
docker run -d 镜像名
容器发现没有应用会自动停止
1
2
2
# 22.查看日志
docker logs
docker logs -ft --tail 10 容器id
-t显示时间戳
-f展示最新的日志
--tail 展示条数
1
2
3
4
5
2
3
4
5
# 23.查看容器进程信息
docker top 容器id
1
# 24.查看镜像元数据
docker inspect 容器id
1
# 25.进入当前运行的容器
docker exec -it 容器id bashshell 开启新终端
docker attacth 容器id /bin/bash 正在执行当前的代码
1
2
2
# 26.容器拷贝到主机
docker cp 容器id:/路径 本机路径
1
# 27.查看docker内存
docker stats
1
# 28.挂在文件
docker run -it -v 本地路径:容器路径
docker inspect 容器id 查看挂载信息
1
2
2
# 29.挂载类型
-v 容器内路径 匿名挂在
-v 具名:容器内路径 具名挂载
-v 宿主机路径:容器内路径 路径挂载
1
2
3
2
3
# 30.读写权限
-v 容器内路径:ro rw 只读或读写权限
1
# 31.dockerfile
from centos #基础镜像
mintainer kuangshen<1143520492@qq.com>#谁写的
run yum -y install vim#docker运行命令
add jdk-8u11-linux-x85.tar.gz /user/local#步骤,tomcat镜像,tomcat他所报
mkdir #镜像工作目录
volume["volume01","volume02"]#挂载位置
expose 80#暴露端口
run #运行
cmd echo "-------end---------"#开启后运行的
cmd /bin/bash
cmd ["ls","-a"]#执行多条命令逗号分割
entrypoint #追加命令
onbuild #触发指令
copy readme.txt /usr/local/readme.txt#类似add,将我们文件拷贝到景象中
env mypath /usr/local#构建的时候设置环境变量
workdir $mypath
docker build -f dockerfile -t 镜像名:[tag]#构建镜像
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 32.docker构建过程
docker history 镜像id
1
# 33.docker网络
docker run -d -p --name tomcat03 --link tomcat02 tomcat
docker exec -it tomcat03 ping tomcat02 #--link就是在host里加了一行代码
docker exec -it tomcat02 ping tomcat03 #ping不通
1
2
3
2
3
# 34.docker桥接
docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet
不同的集群可以创建不同的网络
1
2
2
# 35.docker swarm集群
docker node ls 查看节点
1