docker 构建自己的镜像

Docker/容器
452
0
0
2022-05-02
标签   Docker

构建一个属于自己的镜像

  1. 从docker云端拉取一个ubuntu-16.04的镜像 docker pull ubuntu:18.04

Laravel

  1. 运行这个镜像 docker run -itd --name ubuntu-test ubuntu:18.04

Laravel

3.进入容器 docker exec -it ubuntu-test /bin/bash 进行环境安装,这里以nginx为例

进入容器后,首先更新一下镜像源,这样下载速度会快很多,输入以下命令:

set -ex \ && sed -i 's@security.debian.org@mirrors.aliyun.com@' /etc/apt/sources.list
set -ex \ && sed -i 's@deb.debian.org@mirrors.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

更多参考:www.runoob.com/docker/docker-run-c...