一、安装准备工作
更新软件库
sudo apt-get update
安装依赖软件
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg \ lsb-release
增加官方key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
下载仓库文件
echo \ "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
二、安装docker
更新软件库
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io -y
运行第一个hello容器
sudo docker run hello-world
这样就完成啦!
三、问题
如果出现
Got permission denied while trying to connect to the Docker daemon socket at unix:/
说明我们没有加入新的用户组,我们直接加入组
sudo gpasswd -a $USER docker
更新组
newgrp docker
再去执行执行你的命令吧!
四、docker镜像配置
创建或修改 /etc/docker/daemon.json 文件,修改为如下形式
sudo vi /etc/docker/daemon.json
daemon.json
{ "registry-mirrors": [ "http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn", "https://registry.docker-cn.com" ] }
service docker restart
查看是否成功
docker info
五、docker常见命令
1.新建+启动容器
docker run
–name=“容器新名字” 为容器指定一个名称;
-d: 后台运行容器并返回容器ID,也即启动守护式容器(后台运行);下面重要的后台会讲
-i:以交互模式运行容器,通常与 -t 同时使用; it同时使用
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
也即启动交互式容器(前台有伪终端,等待交互);比如启动容器中的linux
-P: 随机端口映射,大写P
-p: 指定端口映射,小写p
2.列出当前所有正在运行的容器
docker ps
-a :列出当前所有正在运行的容器+历史上运行过的
-l :显示最近创建的容器。
-n:显示最近n个创建的容器。
-q :静默模式,只显示容器编号。
3.退出容器
exit (run进去容器,exit退出,容器停止)
ctrl+p+q (常用的) (run进去容器,ctrl+p+q退出,容器不停止)
4.启动已停止运行的容器
docker start 容器ID或者容器名
5.重启容器
docker restart 容器ID或者容器名
6.停止容器
docker stop 容器ID或者容器名
7.强制停止容器 (还在运行的)
docker kill 容器ID或容器名
8.删除已停止的容器
docker rm 容器ID
重要的后台守护
1.启动守护式容器(后台服务器)
docker run -d
2.查看容器日志
docker logs 容器ID (查看后台具体详情)
3.查看容器内运行的进程
docker top 容器ID
4.查看容器内部细节
docker inspect 容器ID
5.进入正在运行的容器并以命令行交互 exec
docker exec -it 容器ID bashShel
6.从容器内拷贝文件到主机上
docker cp 容器ID:容器内路径
7.导入和导出容器
export 导出容器的内容留作为一个 tar归档文件[对应import命令] import 从tar包中的内容创建一个新的文件系统再导入为镜像[对应export]