目录
docker安装
1 卸载旧版本
yum remove -y docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
2 准备
yum install -y yum-utils device-mapper-persistent-data lvm2
3 设置阿里云镜像
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4 安装
安装最新版本
yum install docker-ce
查看所有版本
yum list docker-ce --showduplicates | sort -r
安装指定版本
yum install docker-ce-18.09.0-3.el7
推荐19版本
yum install docker-ce-19.03.9-3.el7
5 设置开机自启
systemctl start docker && systemctl enable docker
远程访问
第一步
vim /usr/lib/systemd/system/docker.service
修改内容如下
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
重启
systemctl daemon-reload && systemctl restart docker
镜像加速
配置日志驱动 、配置Docker存储驱动
mkdir -p /etc/docker
cat <<EOF > /etc/docker/daemon.json
{
"registry-mirrors": [""],
"exec-opts": ["native.cgroupdriver=systemd"],
"storage-driver": "overlay2",
"storage-opts": ["overlay2.override_kernel_check=true"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "3"
}
}
EOF
重启
systemctl daemon-reload && systemctl restart docker
registry-mirrors参数:阿里docker加速
参考连接: https://www.cnblogs.com/freeblogs/p/8215267.html.
拉取私有仓库代码
vim /etc/docker/daemon.json
{
"insecure-registries":["xxx.xxx.xxx.xxx:5000"]
}
systemctl daemon-reload && systemctl restart docker
修改insecure-registries的值 就是私有仓库的地址
修改Docker默认存储位置的方法
# 关闭docker服务
systemctl stop docker.service
# 移动数据到新的目录
mv /var/lib/docker /export/docker
# 修改docker.service文件,使用-g参数指定存储位置
vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --graph /new-path/docker
# reload配置文件
systemctl daemon-reload
# 重启docker
systemctl restart docker.service
# 查看数据目录
docker info | grep Dir
docker-compose安装
安装:
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
查看安装是否成功
docker-compose -v
常用命令
查看镜像:docker images
查看容器:docker ps
删除镜像:docker rmi -f 镜像id
删除容器:docker rm 容器id
删除容器(-f强制删除,正在运行的容器也删除):docker rm -f {containerID}
从镜像仓库中拉取或者更新指定镜像: docker pull
杀掉一个运行中的容器: docker kill 容器id
启动容器:docker start 容器ID
停止容器:docker stop 容器ID
重启容器:docker restart 容器ID
打包镜像:docker save hello:v1 -o hello.tar
镜像加载:docker load -i hello.tar
进入容器:docker exec -it 容器名称 bash
退出:ctrl+d
docker start `docker ps -a -q`
删除所有容器
docker stop `docker ps -a -q`
docker rm `docker ps -a -q`
删除所有镜像
docker rmi `docker images -q`
删除数据卷
docker volume rm my-vol
docker volume ls
无主的数据卷可能会占据很多空间,要清理请使用以下命令
docker volume prune
docker删除未使用到的镜像
docker image prune -a
查看网络
docker network ls
查看网络详细信息
docker inspect 网络名
compose以守护进程模式运行加-d选项
docker-compose up -d
查看compose日志
docker-compose logs web
docker-compose logs redis
停止compose服务
docker-compose stop
重启compose服务
docker-compose restart
kill compose服务
docker-compose kill
删除compose服务
docker-compose rm