一、安装步骤
参考链接(官方):https://docs.docker.com/install/linux/docker-ce/ubuntu/
参考链接(教程):https://www.runoob.com/docker/ubuntu-docker-install.html
把链接接最后面的ubuntu去掉可以找到其他环境的安装,ce版本即社区版免费。
-
先更新一下本机apt包的索引:
sudo apt-get update
-
添加使用 HTTPS 传输的软件包以及 CA 证书:
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
-
添加GPG密钥:
sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
-
添加软件源:
echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" | sudo tee /etc/apt/sources.list.d/docker.list
-
更新一下:
sudo apt-get update
-
安装docker:
sudo apt-get install docker-ce docker-ce-cli containerd.io
-
启动服务:
sudo systemctl enable docker
sudo systemctl start docker
二、使用
如果一中的1-6步骤运行的不流畅的话,直接使用sudo apt install docker.io
安装了也可以。
1.运行一个docker image(docker容器中的一个镜像,相当于用户通过容器来访问read-only的镜像);(虽然本地没有hello-word这个镜像,但是以下命令依然可以执行,因为它在本地找不到image的时候会在 Docker Hub上寻找下载下来):
sudo docker run hello-world
2.从docker hub下载镜像(latest代表最新的版本,镜像名可以是Ubuntu或者centos之类):
sudo docker pull 镜像名称:latest
3.查看主机下有多少docker镜像:
sudo docker images
等同于命令:sudo docker image ls
查看有多少容器(不加–all只显示正在运行的容器):
sudo docker container ls --all
PS:docker container kill [containID]
可以关闭容器该id的容器(kill换成rm可以删除),通过上一命令可以查看id。
4.使用Dockerfile构建镜像:
参考链接:http://www.ruanyifeng.com/blog/2018/02/docker-tutorial.html
①.先cd到需要构建的程序文件的根目录下,在这里新建文件.dockerignore,在文件中写入要跳过的目录(一个目录占一行,以当前位置为根,如当前目录下有 test/ ,则直接写test即可):
②.新建Dockerfile文件(向外暴露3000端口):
FROM Ubuntu:16.04
COPY . /app
WORKDIR /app
EXPOSE 3000/tcp
③.创建镜像文件,最后的那个.代表当前目录,不能少,first是自定义名称:
sudo docker image build -t first .
PS:删除镜像文件命令:sudo docker rmi [image id]
,image id通过3命令查看。
如果无法删除:先查看容器sudo docker ps -a,再关闭该容器(通过对应id)sudo docker rm [CONTAINED ID],最后删除image(rm是删除容器,rmi是删除镜像)
④.通过image生成容器(8000代表后面配置全部完成后可以通过链接进行访问http://127.0.0.1:8000):
sudo docker container run -p 8000:3000 -it first /bin/bash
如果命令执行后,命令行变为:
root@32a65cf91342:/app#
则代表已经进入容器中。
5.导出构建好的镜像(导出到当前目录下,命名为new.tar):
docker save -o new.tar first:latest