构建一个属于自己的镜像
- 从docker云端拉取一个ubuntu-16.04的镜像
docker pull ubuntu:18.04
- 运行这个镜像
docker run -itd --name ubuntu-test ubuntu:18.04
3.进入容器 docker exec -it ubuntu-test /bin/bash
进行环境安装,这里以nginx为例
进入容器后,首先更新一下镜像源,这样下载速度会快很多,输入以下命令:
set -ex \ && sed -i 's .debian.org .aliyun.com@' /etc/apt/sources.list | |
set -ex \ && sed -i 's .debian.org .aliyun.com@' /etc/apt/sources.list | |
apt-get update |
更新完成之后,我们来安装nginx
apt-get install -y nginx
nginx目录默认安装在/etc/nginx
,可以使用ls /etc/nginx
查看
然后输入exit
命令退出容器。
执行容器打包命令:
docker commit ubuntu-test lls123/nginxtest:ubuntu-test
以上命令中的lls123/nginxtest:ubuntu-test
便是新镜像的REPOSITORY和TAG(docker新手用户需要注意yourhubid这个是你自己的docker账号,需要修改的,否则无法上传),然后通过docker images
命令查看镜像
4.使用docker login命令即可登录docker云,使用 docker push lls123/nginxtest:ubuntu-test
上传镜像
5.使用 docker pull lls123/nginxtest:ubuntu-test
就可以使用自己构建的镜像啦
docker 常用命令
-- 1. 从仓库上下载镜像资源到本地 | |
docker pull xxx/yyy | |
-- 2. 推送本地镜像到仓库 | |
docker push xxx/yyy | |
============= 操作镜像 ============= | |
-- 1. 查看所有的镜像 | |
docker images | |
-- 2. 删除镜像 | |
docker rmi xxx/yyy | |
-- 3. 删除所有镜像 | |
docker rmi $(docker images) | |
-- 4. 根据dockerfile构建镜像 | |
docker build -t [镜像名称] . | |
-- 5. 强制删除镜像 | |
docker rmi -f xxx/yyy | |
--- 6. 查看镜像的构建历史 | |
docker history 镜像 | |
============= 操作容器 ============= | |
-- 1. 查看运行的容器 | |
docker ps | |
-- 2. 查看所有容器(含未运行的) | |
docker ps -a | |
-- 3. 创建容器 | |
docker run -itd --name 容器名称(自定义) 镜像名称 | |
-- 4. 进入容器中 | |
docker exec -it 容器名称 挂起命令(top,ping,sh,bash...) | |
-- 5. 容器转为镜像 | |
docker commit -m="猫叔" 容器 镜像名称 | |
-- 6. 启动容器 | |
docker start 容器名 | |
-- 7. 停止容器 | |
docker stop 容器名 | |
-- 8. 删除容器 | |
docker rm 容器名 | |
-- 9. 删除所有容器 | |
docker rm $(docker ps -a -q) | |
============= 网络环境配置 ============= | |
-- 1. 查看所有网络配置 | |
docker network ls | |
-- 2. 创建网络 | |
docker network create --subnet=172.100.100.0/24 mynetwork | |
-- 3. 删除网络 | |
docker network rm mynetwork | |
-- 4. 给容器定义网络 --network=网络名 --ip=自定义ip | |
docker run -itd --network=mynetwork --ip=172.100.100.100 --name 容器名称(自定义) 镜像名称 | |
============= 导出备份 ============= | |
-- 1. 根据 容器 导出tar文件 docker export 容器名 > 文件名.tar | |
-- 2. 根据 容器 导出的tar文件转为镜像 docker import 文件名.tar 镜像名 | |
-- 3. 根据 镜像 导出tar文件 docker save 镜像名 > 文件名.tar | |
-- 4. 根据 镜像 导出的tar文件转为镜像 docker load < 文件名.tar |