卸载
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine \
podman \
runc
安装
自动脚本
curl -fsSL https://get.docker.com -o get-docker.sh
DRY_RUN=1 sh ./get-docker.sh # DRY_RUN 显示详细命令
Image&Container
#! image
#列出本机所有image文件
docker image ls
#删除image
docker image rm {image_name}
#拉取image到本地
docker image pull {image_group_name}/{image_name}
docker image pull {image_name} #image_group_name = library
#! container
#运行image
#会自动抓取image文件到本机
docker container run --rm -p {container_port}:{self_machine_port} -i -t {image_name}:{image_tag} {first_command}
#--rm 容器终止运行后自动删除容器
#-p 映射端口
#-i 即使没有附加也保持STDIN 打开
#-t 分配一个伪终端
#{first_command} 容器启动后内部第一个执行的命令,常用:/bin/bash 保证用户可以用shell
#容器列表
docker container ls
docker container ls --all #包括终止运行的容器
#停止容器
docker container stop {container_id}
#终止容器
docker container kill {container_id} #强制停止
#删除容器
docker container rm {container_id}
#启动已停止的容器
docker container start {container_id}
#查看容器输出
docker container logs {container_id}
#在运行的容器中执行命令
docker container exec {options} {container_id} {shell_command}
#-d :分离模式: 在后台运行
#-i :即使没有附加也保持STDIN 打开
#-t :分配一个伪终端
#从容器中拷贝文件
docker container cp {source_path}:{target_source}
docker attach {container_id}
.dockerignore&Dockerfile
#! ./.dockerignore
.git
# ....
#! ./Dockerfile
#继承image文件
FROM {image_name}:{image_tag}
#复制文件到image中
COPY {source_path} {target_path}
#指定接下来的工作路径
WORKDIR {work_path}
#构建image时执行的命令
RUN {shell_command}
RUN ......
#设置环境变量(dockfile命令),用于RUN等命令展开
ENV <key>=<value>
#设置环境变量(构建环境),用于FORM
ARG <key>=<value>
#暴露端口(仅用作声明容器会用什么端口)
EXPOSE {port}
#容器运行后执行的命令,只能有一个
CMD {shell_command}
#定义匿名卷
VOLUME <路径>
#构建image文件
docker image build -t {image_name}:{image_tag} {source_path}
#iamge_tag默认为
docker.com
#docker登录
docker login
#标注image
docker image tag {iamge_name}:{iamge_tag} {username}/{image_name}:{image_tag}
#发布image
docker image push {username}/{image_name}:{image_tag}
未整理
docker run -tdi --privileged=true centos init
docker attach
docker commit {container_id} {image_name}:{image_tag}
、
openwrt
、
docker network create -d macvlan --subnet=172.16.60.0/24 --gateway=172.16.60.254 --ipv6 --subnet=fe80::/16 --gateway=fe80::1 -o parent=eth0 -o macvlan_mode=bridge openwrt-LAN
docker network create -d macvlan --subnet=192.168.0.0/24 --gateway=192.168.0.254 --ipv6 --subnet=fe81::/16 --gateway=fe81::1 -o parent=ens34 -o macvlan_mode=bridge openwrt-WAN
docker run -it -d --network openwrt-LAN --privileged --name openwrt lede:test /sbin/init
Network
docker network create -d bridge --internal=true openwrt-LAN
Loading Comments...