Docker
- Docker官方文档
- Docker实践可参考Docker-从入门到实践
安装Docker
脚本安装
bash
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
配置用户
bash
sudo groupadd docker
sudo gpasswd -a $USER docker
newgrp docker
sudo groupadd docker
sudo gpasswd -a $USER docker
newgrp docker
启动Docker
bash
systemctl start docker
systemctl start docker
配置Docker
Docker的配置文件通常为/etc/docker/daemon.json
(不存在的话可以创建)。
WARNING
- JSON格式,格式错误Docker会启动不起来;
- 修改配置后通常需要重启Docker方可生效;
配置镜像仓库
bash
{
"insecure-registries":[
"$hostname"
]
}
{
"insecure-registries":[
"$hostname"
]
}
重启Docker
bash
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl daemon-reload
sudo systemctl restart docker
Docker常用指令
特权模式下以entrypoint命令运行镜像
sh
docker run --privileged=true -d --entrypoint sh $image -c "sleep 9999"
docker run --privileged=true -d --entrypoint sh $image -c "sleep 9999"
指定端口和volume挂载运行镜像
sh
docker run --name $name -p $hostPort:$containerPort -v $hostPath:$containerPath -d $image /bin/sh "sleep 999"
docker run --name $name -p $hostPort:$containerPort -v $hostPath:$containerPath -d $image /bin/sh "sleep 999"
删除所有tage为none的容器
sh
docker images|grep none|awk '{print $3}'|xargs docker rmi -f
docker images|grep none|awk '{print $3}'|xargs docker rmi -f
容器转储为tgz文件
sh
docker save $image1 $image2 | gzip > $name.tgz
docker save $image1 $image2 | gzip > $name.tgz
登录docker仓库
sh
docker login $hostname -u $name -p $password
docker login $hostname -u $name -p $password
查看Docker服务日志
sh
journalctl -u docker --no-pager
journalctl -u docker --no-pager
为当前用户赋予Docker权限
sh
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker