docker基础使用
linux安装
curl -fsSL get.docker.com -o get-docker.sh |
图形化容器管理工具
docker run -d -p 9000:9000 \ |
镜像加速
cat /etc/docker/daemon.json |
{ |
systemctl daemon-reload
systemctl restart docker
阿里云:
https://cr.console.aliyun.com/?spm=a2c4g.11186623.0.0.19e6a42dFzVyyI
重启docker服务 systemctl restart docker
关闭docker服务 systemctl stop docker
开启docker服务 systemctl start docker
开机启动docker服务 systemctl enable docker –now
搜索仓库镜像:docker search 镜像名
从仓库下载镜像:docker pull 镜像名
docker image pull 镜像名
查看镜像:docker images
docker image ls
查看镜像信息:docker image inspect id号
查看容器信息:docker container inspect id号
镜像的导出
docker image save `镜像名:latest` -o `导出名` |
镜像的导入
docker image load -i `镜像名` |
删除镜像
docker image rm 镜像id |
强制删除镜像
docker image rm -f 镜像id |
查看当前运行的容器
docker ps |
查询存在所有容器
docker ps -a |
创建容器
> docker container run `镜像名` |
启动容器
docker container start xxx |
重启容器:
docker container restart xxx |
停止容器:
docker stop xxxID |
删除容器
docker container rm xxxID |
后台模式转前台模式
docker container attach xxxID |
日志:
docker container logs xxxID |
进入命令行
-it 交互模式(sh进入命令行)
docker exec -it xxxID sh |
把物理机的文件传入容器:
docker cp 物理机的文件 容器ID的前三位:容器内的路径
docker cp 1.txt 容器ID:/var/www/html |
把容器内的文件传给物理机
docker cp 容器ID的前三位:容器内的文件 物理机的路径
docker cp 容器ID:/var/www/html/login.php ./ |
docker网络模式
docker默认网络模式
bridge 网桥模式(默认网络)
docker container run -d -p 80:80 nginx
host 主机模式
docker run -itd
-v /mnt/data/ttnodeA:/mnts \ 给容器挂在存储卷 本机挂载目录:容器目录
–name ttnodeA \ 容器名字
–hostname ttnodeA \ host名
–net=host \ 网络类型host
–privileged=true \ 特权模式,可以有效避免权限不够
–restart=always \ 容器退出后的重启策略,意外推出后重启容器
dvwa 镜像名称
none 仅主机模式
docker run -d –network none nginx
查看网络模式
docker network ls
查看网络详细信息
docker network inspect ID
新建网络
docker network create -d macvlan
–subnet=192.168.2.0/24 \ #局域网的ip段
–gateway=192.168.2.254 \ #主路由ip地址
-o parent=eth0 \ #设置对应网卡名
-o macvlan_mode=bridge
macnet #网络名
删除网络
docker network rm 网络id
删除所有未使用的网络
docker network prune
将正在运行的容器连接到网络
docker network connect 网络名 容器名
将正在运行的容器连接到网络并设置ip
docker network connect –ip 192.168.1.111 网络名 容器名
运行容器指定ip
docker run -itd –network=网络名 容器名
断开容器与网络的连接
docker network disconnect 网络名 容器名
mac vlan网络模式
docker network create -d macvlan
–subnet=192.168.2.0/24 \ #局域网的ip段
–gateway=192.168.2.254 \ #主路由ip地址
-o parent=eth0 \ #设置对应网卡名
-o macvlan_mode=bridge
macnet #网络名
docker run -itd
-v /mnt/data/ttnodeA:/mnts \ 给容器挂在存储卷 本机挂载目录:容器目录
–name ttnodeA \ 容器名字
–hostname ttnodeA \ host名
–net=macnet \ 网络类型macnet
–ip=192.168.2.201
–dns=114.114.114.114
–mac-address C2:F2:9C:C5:B3:94
–privileged=true \ 特权模式,可以有效避免权限不够
–restart=always \ 容器退出后的重启策略,意外推出后重启容器
dvwa 镜像名称