本文中的Ubuntu版本为 Ubuntu 18.04 。
安装docker
卸载旧版本docker:
1 | sudo apt-get remove docker docker-engine docker.io |
安装依赖:
1 | sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common |
信任docker的GPG公钥:
1 | curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - |
添加软件仓库(使用清华源):
1 | sudo add-apt-repository \ |
安装:
1 | sudo apt-get update |
安装docker-compose
检查更新: https://github.com/docker/compose/releases
1 | sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose |
设置其为可执行:
1 | sudo chmod +x /usr/local/bin/docker-compose |
验证:
1 | docker-compose --version |
预期输出:
1 | Docker Compose version v2.2.3 |
如需卸载docker-compose:
1 | sudo rm /usr/local/bin/docker-compose |
docker换源
以使用docker中国官方源为例,实际也可根据情况不同使用其他源:
1 | https://ustc-edu-cn.mirror.aliyuncs.com # 阿里云ustc |
执行 sudo vim /etc/docker/daemon.json
如下:
1 | { |
1 | sudo systemctl daemon-reload |
使用 docker info
查看是否生效:
1 | Registry Mirrors: |
包含以上两行则生效
docker命令
1 | # 启动docker |
镜像操作
列出镜像:
1 | sudo docker image ls |
拉取镜像:
1 | sudo docker image pull library/hello-world |
删除镜像:
1 | sudo docker image rm hello-world |
镜像备份与迁移:
1 | # 打包 |
容器操作
创建容器:
1 | sudo docker run [option] [镜像名] [向启动容器中传入的命令] |
常用可选参数说明:
1 | -i # 表示以“交互模式”运行容器 |
交互式容器:
创建一个交互式容器,并命名为 myubuntu
,使用如下命令:
1 | sudo docker run -it --name=myubuntu ubuntu /bin/bash |
在容器中可以随意执行linux命令,就是一个ubuntu的环境,当执行exit命令退出时,该容器也随之停止。
守护式容器:
如果对于一个需要长期运行的容器来说,我们可以创建一个守护式容器。在容器内部exit退出时,容器也不会停止。
1 | sudo docker run -dit --name=myubuntu2 ubuntu |
进入已运行的容器:
1 | sudo docker exec -it [容器名或容器id] [ |
如
1 | sudo docker exec -it myubuntu2 /bin/bash |
查看容器:
1 | # 列出本机正在运行的容器 |
停止与启动容器:
1 | # 停止一个已经在运行的容器 |
将容器保存为镜像:
1 | sudo docker commit [容器名] [镜像名] |