docker 在ubuntu16/centos6.9中的安装及常用操作
1. 镜像-容器
2. ubuntu16安装
更新ubuntu的apt源索引 ‘sudo apt-get update‘
-
安装包允许apt通过HTTPS使用仓库
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common
添加Docker官方GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
设置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 docker-ce
检查Docker CE是否安装正确
sudo docker run hello-world
更改权限,不用每次都写sudo
sudo usermod -a -G docker $USER
-
2.1. ubuntu下操作docker
# 启动docker sudo service docker start # 停止docker sudo service docker stop # 重启docker sudo service docker restart # 列出镜像 docker image ls # 拉取镜像 docker image pull library/hello-world docker image pull hello-world # 删除镜像 docker image rm 镜像名或镜像id # 创建容器 docker run [option] 镜像名 [向启动容器中传入的命令] # 创建交互式容器 docker run -it --name=myubuntu ubuntu /bin/bash # 创建守护式容器 docker run -dit --name=myubuntu2 ubuntu # 进入已运行的容器 docker exec -it 容器名或容器id 进入后执行的第一个命令 docker exec -it myubuntu2 /bin/bash #查看容器 docker container ls #列出本机正在运行的容器 docker container ls --all # 列出本机所有容器,包括已经终止运行的 # 停止容器 docker container stop ubuntu2 # 停止一个已经在运行的容器 docker container stop 容器名或容器id # 启动一个已经停止的容器 docker container start 容器名或容器id # kill掉一个已经在运行的容器 docker container kill 容器名或容器id # 删除容器 docker container rm 容器名或容器id
-
2.2. 创建容器参数
- 常用可选参数说明:
- -i 表示以“交互模式”运行容器
- -t 表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即 分配一个伪终端。
- --name 为创建的容器命名
- -v 表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录,即 宿主机目录:容器中目录),可以使 用多个-v 做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后 共享到容器上。
- -d 在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不 会自动登录容器,如果只加-i -t 两个参数,创建后就会自动进去容器)。
- -p 表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p 做多个端口映射
- -e 为容器设置环境变量
- --network=host 表示将主机的网络环境映射到容器中,容器的网络与主机相同
- 常用可选参数说明:
2.3. 将容器保存为镜像
docker commit 容器名 镜像名
-
2.4. 镜像备份与迁移
save命令将镜像打包成文件 docker save -o 保存的文件名 镜像名 docker save -o ./ubuntu.tar ubuntu
-
2.5. 本地镜像加载
可以通过load方法,将镜像加载到本地 docker load -i ./ubuntu.tar ```
2.6. docker image list
docker image ls2.7. 删除容器
docker rm container_id
3. centos6.9上安装docker
-
3.1更新centos源(参考https://www.jianshu.com/p/1a765617be7d)
- 查看当前系统Docker信息
docker info
- 查看当前系统Docker信息
- 3.2 安装docker
yum install -y epel-release
yum search docker
yum install -y docker-io.x86_64
- 3.3 docker镜像操作
# 启动docker
sudo service docker start
#停止docker
sudo service docker stop
# 重启docker
sudo service docker restart
#拉取docker镜像
docker pull image_name
docker pull centos:latest
#拉取docker镜像指定版本
docker pull centos:6.9
#查找Docker Hub上的nginx镜像
docker search nginx
#删除镜像
docker rmi image_id/iamge_name
#查看宿主机上的镜像,Docker镜像保存在/var/lib/docker目录下:
docker images
- 3.4 docker容器操作
#创建容器
docker run -i -t <imageID> /bin/bash(没有/bin/bash会立刻退出)
#守护进程创建容器,容器会在后台运行
docker run -itd --name=install_py2.7 657531b0552b /bin/bash
# 进入后台正在运行的容器
docker attach container_name/container_id
#启动容器,并挂载本地目录文件(-v),冒号前为本地目录,冒号后为容器目录
docker run -it -v /home/work/Downloads:/home image_name/image_id /bin/bash
#多窗口启动容器, 分配一个伪终端.
docker exec -it container_id /bin/bash
#查看当前有哪些容器正在运行
docker ps
# 查看所有容器
docker ps -a
# 重命名
docker rename old容器名 new容器名
# 退出容器 exit
# 启动、停止、重启容器命令:
docker start container_name/container_id
docker stop container_name/container_id
docker restart container_name/container_id
# 删除容器的命令:
docker rm container_name/container_id
# 删除所有停止的容器:
docker rm $(docker ps -a -q)
- 3.5 docker容器备份与恢复
#备份
docker commit -p 30b8f18f20b4 container-backup
docker save -o ~/container-backup.tar container-backup
#恢复到镜像中
docker load -i ~/container-backup.tar
- docker是最小化配置的镜像,以centos为例,安装
yum install -y net-tools
yum install -y wget
以便后续操作