1.1 网上一搜,全是更新仓库、下载依赖、添加docker的gpg密钥、添加docker仓库、安装docker-ce的步骤,但是在安装docker-ce时却提示“package "docker-ce" has no installation candidate”,就很迷。
1.2 安装docker.io
- sudo apt update
- sudo apt install docker.io
-
- # 将docker设置为系统启动时运行
- sudo systemctl start docker
- sudo systemctl enable docker
-
- docker --version
2.1 按照某文档执行指令"docker run -it img_name:tag /bin/bash",却报错“docker: Error response fron daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "/xxxx/script/entrypoint/deps/tini/bin/tini": stat /xxx/script/entrypoint/deps/tini/bin/tini: no such file or directory: unknown”。后来确定原因是docker容器启动时会执行镜像内已有的entrypoint指令。
2.2 查看镜像的entrypoint内容
- docker inspect img_name:tag
-
- # 如果在终端不方便查看,可以把内容保存到文件
- docker inspect img_name:tag > img.log
2.3 docker run启动容器时覆盖entrypoint指令
- # 以root权限、后台形式、/bin/bash覆盖镜像已有entrypoint指令的方式启动容器
- docker run --entrypoint /bin/bash --privileged=true -it -d --name container_name img_name:tag
-
- # 正式以root身份访问容器控制台
- docker exec -it -u root container_name /bin/bash
2.4 docker其它常用指令
- # 保存镜像
- docker save -o xx.tar img_name:tag
-
- # 加载镜像
- docker load -i img.tar
-
- # 查看容器状态
- docker stats
-
- # 移除容器
- docker rm container_name
-
- # 停止或杀死容器
- docker stop container_name
- docker kill container_name
-
- # 退出并停止容器
- exit
-
- # 退出容器,但不停止容器
- Ctrl + P + Q