Docker笔记
安装
yum remove docker*
yum install -y yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io
systemctl enable docker --now
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["http://hub-mirror.c.163.com", "https://registry.docker-cn.com","https://docker.m.daocloud.io","https://dockerproxy.com","https://docker.mirrors.ustc.edu.cn","https://docker.nju.edu.cn"
],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
命令
-
拉取镜像
docker pull <name[:version]>
-
查看已下载镜像
docker images
-
删除镜像
docker rmi <name[:version]>
-
启动容器
docker run [OPTIONS] 镜像名 [COMMAND] [ARG...] docker run --name=mynginx [-d](后台运行) [--restart](开机自启) [-p outer:inner](端口映射) nginx
-
列出正在运行的容器
docker ps [-a](所有)
-
停止容器
docker stop <name/id>
-
重启容器
docker start <id/name>
-
删除停止的容器
docker rm [-f] <name/id>
-
更新容器设置
docker update <name/id> <config>
-
修改容器内容
-
进入容器内部
docker exec -it <name/id> /bin/bash(sh)
-
挂载到外部
docker run --name=mynginx -d --restart=always -p 88:80 -v /data/html:/usr/share/nginx/html:ro nginx
-
-
提交修改好的镜像
docker commit [Opt] <name/id> [repo[:tag]] docker commit -a "krowfeather" -m "changes" mynginx kfnginx:v1.0.0
-
镜像传输
-
保存镜像为压缩包
docker save [Opt] <filename> <name> docker save -o ng.tar kfnginx:v1.0.0
-
加载压缩包
docker load [Opt] docker load -i ng.tar
-
-
推送镜像到dockerhub
docker login 先登录 docker tag 本地镜像:tag dockerhub仓库名:tag docker push dockerhub仓库名:tag [docker logout]
-
查看日志
docker logs <name/id>
-
复制
docker cp <name:filepath> <targetPath>