1. 安装docker
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. docker容器启动
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