# Docker安装
记录在ubuntu下搭建神器docker的环境~
- 如果之前安装过docker,先清理一下旧的文件
sudo apt-get remove docker docker-engine docker.io containerd runc
- 更新一下apt包
sudo apt-get update
- 安装下面的工具包,使apt能够通过https使用仓库
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
- 添加Docker官方的GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- 为apt添加docker稳定版的仓库
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
- 再更新一下apt包
sudo apt-get update
- 安装最新版docker ce
sudo apt-get install -y docker-ce
- 查看是否安装成功,若安装成功会显示版本信息
docker -v
- 将用户加入docker组(之后每次使用时不用sudo命令)
sudo usermod -aG docker name #将当前用户加入docker组中,name是用户名
su - name #重新登陆当前用户
docker ps -a #查看所有容器
# docker使用
# docker命令
- 查看docker信息
docker info
- 查看docker帮助
docker --help
# 镜像命令
- 查看本机的所有镜像
docker images
- 搜索dockerhub上的镜像
docker search
- 下载某个镜像文件
docker pull nginx # pull后边跟镜像名字
- 删除某个镜像
docker rmi nginx
# 容器的命令
- 运行一个容器
docker run -it --name myubuntu ubuntu
# -i是交互 -t是伪终端 --name是起的名字 -d
是以守护模式后台运行,但是必须要有前台进程
# -p是指定端口映射 8888:8080将内部的8080端口映射到外部的8888端口
- 进入一个正在运行的容器(这种方法退出的时候不会结束容器)
docker exec -it name /bin/bash #进入容器,实际上是对容器执行后面的操作;也可以不进入容器,对容器进行操作
- 进入一个正在运行的容器(推出的时候会结束容器)
docker attach name #进入容器中
- 拷贝文件,从容器到主机中
docker cp name:文件路径 本机路径
# 镜像commit
在一个容器进行一顿操作,然后将它打包成一个自己的镜像
docker commit -a="author" -m="comments" theimage myname/myimage # -a是作者名,-m是说明,之后是运行的镜像名,最后是自己起的名字
# 添加数据卷
docker run -it -v 主机文件夹:容器内文件夹 imagename
# DockerFile使用
编写一个简单的dockerFile文件
FROM centos #底层是centos,好比extends
VOLUME ["/container01","/container02"]
# 一出厂就挂了两个容器卷,如果运行的时候没有指定的话,会自动在/var目录里生成一个,具体用docker inspect 可以进行查看
CMD echo "finish,------success01"
CMD /bin/bash
上面的dockerFile相当于
docker run -it -v /host1:container01 -v /host2:/container02 centos /bin/bash
之后将dockerFile构建为镜像
docker build -f dockerFile -t namespace/mydocker . # -f指的是dockerFile -t后跟的是名字
← Docker DockerFile →