Docker安装
本次安装使用Ubuntu:
1.安装软件使apt可以通过https使用软件库
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
2.安装docker证书
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
3.写入docker软件源信息
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
4.更新软件源/下载安装docker-ce
sudo apt-get -y update
sudo apt-get -y install docker-ce
###可以选择默认安装,也可以指定docker版本,方法如下###
(1)查看可选择安装的docker版本信息
# apt-cache madison docker-ce
docker-ce | 17.03.1~ce-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages(2)安装指定版本的Docker-CE
# sudo apt-get -y install docker-ce=17.03.1~ce-0~ubuntu-xenial
(3)使用docker version验证安装
Client: Version: 18.03.1-ce APIversion: 1.37 Go version: go1.9.5 Git commit: 9ee9f40 Built: Thu Apr 26 07:17:20 2018 OS/Arch: linux/amd64 Experimental: false Orchestrator: swarmServer: Engine: Version: 18.03.1-ce API version: 1.37 (minimum version 1.12) Go version: go1.9.5 Git commit: 9ee9f40 Built: Thu Apr 26 07:15:30 2018 OS/Arch: linux/amd64 Experimental: false //格式原因,不算美观
镜像下载
1.启动服务/查看可供选择的docker镜像
#sudo service docker start #启动服务
#sudo docker search [要求] #查找符合要求的镜像
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
centos The official build of CentOS. 4338 [OK]
centos7 Ansible on Centos7 111 [OK]2.将镜像pull到本地(以上边的centos为例)
sudo docker pull [name] #nam为第一步的返回信息如第一条 name=centos
#sudo docker pull centos #返回如下信息
Using default tag: latest
latest: Pulling from library/centos
Digest:sha256:989b936d56b1ace20ddf855a301741e52abca38286382cba7f44443210e96d16
Status: Image is up to date for centos:latest3.查看pull到本地的docker镜像
#sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest e934aafc2206 8 weeks ago 199MB
容器创建
1.查看可以使用的docker镜像(创建时本地没有镜像会自动下载)
#sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest e934aafc2206 8 weeks ago 199MB2.创建容器
sudo docker run -itd -p --name test1 8080:80 centos:latest /bin/bash
ec5c7abadc6cb4304116c7104b2bd236d7146dc434b06ba1a107f322135cc592解析:run 创建启动容器 d后台运行 t 打开命令交互 -p 建立端口映射
8080宿主机端口 80容器端口 centos:latest 为 REPOSITORY:TAG
/bin/bash存放命令的目录 --name 在创建时给容器重命名
3.查看创建的容器
sudo docker ps -a # -a:查看以创建的容器 -s:查看正在运行的容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1fdb44770b6b centos:latest "/bin/bash" 21 seconds ago Up 20 seconds 0.0.0.0:8080->80/tcp test1
容器封装(将容器封装为镜像文件)
我们对容器进行修改后封装为镜像,在下此使用创建容器时更方便
1.查看已经存在的容器
#sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES1fdb44770b6b centos:latest "/bin/bash" 21 seconds ago Up 20 seconds 0.0.0.0:8080->80/tcp test1
2.进行封装
#sudo docker commit 1fdb44770b6b centos:test1
sha256:4abd38999fd5df55f4f46a7eb4ed2d79613eabb577dbebf50db1b25b1918b1fd解析:1fdb44770b6b 容器id
centos:test1 为 REPOSITORY:TAG 通俗解释为 名称:版本
3.查看封装的镜像文件
#sudo docker images
REPOSITORY TAG IMAGEID CREATED SIZE
centos test1 4abd38999fd5 48 seconds ago 199MB
常用命令
docker run 创建并启动一个容器,在run后面加上-d参数,则会创建一个守护式容器在后台运行。
docker ps -a 查看已经创建的容器
docker ps -s 查看已经启动的容器
docker start test 启动容器名为test的容器
docker stop test 停止容器名为test的容器
docker rm test 删除容器名为test的容器
docker rename old_name new_name 重命名容器
docker rmi imageID 删除一个镜像
docker attach test 进入名字为test的容器
docker tag IMAGEID(镜像id) REPOSITORY:TAG(仓库:标签)重命名镜像
docker save imageID > /home/david/test.tar 镜像导出到指定文件目录
docker load < /home/david/test.tar 指定文件导入镜像
docker login 登陆docker-hub
docker logout 退出登陆
docker push 库 上传镜像到docker-hub
docker pull 库 下载镜像到本地
docker search 要求 查找符合要求的镜像