date: 2022-10-09 updated: 2022-10-10
Docker 安装与入门 安装 在线安装 1 2 3 yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum install -y docker-ce
启动
1 2 service docker start service docker status
离线安装 下载安装包,可访问网址查看最新版本
1 2 3 4 5 6 7 8 9 10 https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-18.09.8-3.el7.x86_64.rpm https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.2-3.el7.x86_64.rpm https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-cli-18.09.8-3.el7.x86_64.rpm https://pkgs.org/download/container-selinux
安装
1 rpm -Uvh --force --nodeps *.rpm
启动
1 2 service docker start service docker status
docker-compose 下载,可访问网址查看最新版本$(uname -s)
即系统名称(Linux),(uname -m)
即系统架构(x86_64)
1 2 3 4 5 6 7 curl -L "https://github.com/docker/compose/releases/download/2.11.2/docker-compose-$(uname -s) -$(uname -m) " -o /usr/local /bin/docker-compose curl -L https://get.daocloud.io/docker/compose/releases/download/2.11.2/docker-compose-`uname -s`-`uname -m` > /usr/local /bin/docker-compose
授权
1 2 3 4 5 sudo chmod +x /usr/local /bin/docker-compose docker-compose version
启动异常 OCI runtime create failed 启动镜像时报
1 docker: Error response from daemon: failed to create shim: OCI runtime create failed: unable to retrieve OCI runtime error (open /run/containerd/io.containerd.runtime.v2.task/moby/cdf3729f103e2f4cb94e25f3cfe6c21a3126428c0a977b7651ed5a77ab6d7/log.json: no such file or directory): runc did not terminate successfully: unknown.
下载 runc 替换
1 2 3 4 5 6 cp runc.amd64 /usr/local /bin/runc cp runc.amd64 /usr/local /sbin/runc cp runc.amd64 /usr/bin/runc chmod +x /usr/local /bin/runc chmod +x /usr/local /sbin/runc chmod +x /usr/bin/runc
镜像 下载镜像到本地 1 2 docker pull <repository>:<tag> docker save <repository>:<tag> -o <repository>.tar
导出镜像 1 docker save [options] images [images...]
如
1 2 3 docker save mongo:latest -o mongo.tar 或 docker save mongo:latest > mongo.tar
-o
和 >
表示输出到文件,nginx:latest
是源镜像名(name:tag)
导出多个镜像到一个tar包
1 docker save $(docker images | grep -v REPOSITORY | awk 'BEGIN{OFS=":";ORS=" "}{print $1,$2}' ) -o kube.tar
直接使用 IMAGE ID 保存,导入后 repository 和 tag 名称会显示 none
1 docker save <IMAGE ID> -o <repository>.tar
如果 docker 载入新的镜像后 repository 和 tag 都为 none,那么通过 tag 的方法增加名字标签
1 docker tag <IMAGE ID> <repository>:<tag>
导入镜像
如
1 2 3 docker load -i mongo.tar 或 docker load < mongo.tar
-i
和 <
表示从文件输入。会成功导入镜像及相关元数据,包括 tag 信息
删除镜像 1 docker rmi -f <IMAGE ID>
-f
表示强制删除镜像
推荐先删除引用该镜像的容器,再不使用 -f
删除镜像
容器