官方网站 | DockerHub | 清华帮助文档
本文中的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 2 3 4
| sudo add-apt-repository \ "deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu \ $(lsb_release -cs) \ stable"
|
安装:
1 2
| sudo apt-get update sudo apt-get install docker-ce
|
安装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换源
执行 sudo vim /etc/docker/daemon.json
如下:
1 2 3 4 5
| { "registry-mirrors": [ "https://registry.example.com" ] }
|
1 2
| sudo systemctl daemon-reload sudo service docker restart
|
使用 docker info
查看是否生效:
1 2
| Registry Mirrors: https:
|
包含以上两行则生效
docker命令
1 2 3 4 5 6 7 8
| sudo service docker start
sudo service docker stop
sudo service docker restart
|
镜像操作
列出镜像:
拉取镜像:
1 2
| sudo docker image pull library/hello-world sudo docker image pull hello-world
|
删除镜像:
1
| sudo docker image rm hello-world
|
镜像备份与迁移:
1 2 3 4 5 6 7 8
| sudo docker save -o [保存的文件名] [镜像名]
sudo docker save -o ./ubuntu.tar ubuntu
sudo docker load -i ./ubuntu.tar
|
容器操作
创建容器:
1
| sudo docker run [option] [镜像名] [向启动容器中传入的命令]
|
常用可选参数说明:
1 2 3 4 5 6 7 8
| -i -t --name -v -d -p -e --network=host
|
交互式容器:
创建一个交互式容器,并命名为 myubuntu
,使用如下命令:
1
| sudo docker run -it --name=myubuntu ubuntu /bin/bash
|
在容器中可以随意执行linux命令,就是一个ubuntu的环境,当执行exit命令退出时,该容器也随之停止。
守护式容器:
如果对于一个需要长期运行的容器来说,我们可以创建一个守护式容器。在容器内部exit退出时,容器也不会停止。
1
| sudo docker run -dit --name=myubuntu2 ubuntu
|
进入已运行的容器:
1 2
| sudo docker exec -it [容器名或容器id] [ 进入后执行的第一个命令]
|
如
1
| sudo docker exec -it myubuntu2 /bin/bash
|
查看容器:
1 2 3 4 5
| sudo docker container ls
sudo docker container ls --all
|
停止与启动容器:
1 2 3 4 5 6 7 8 9 10 11
| sudo docker container stop [容器名或容器id]
sudo docker container start [容器名或容器id]
sudo docker container kill [容器名或容器id]
sudo docker container rm [容器名或容器id]
|
将容器保存为镜像:
1
| sudo docker commit [容器名] [镜像名]
|