Docker镜像操作命令记录
1. 从网络上直接拉取镜像
复制代码
1
2docker pull centos:centos7.7.1908
2. 查看镜像信息
复制代码
1
2
3
4
5docker images # 查看本地镜像信息 docker ps # 查看容器信息
3. 通过镜像创建容器
复制代码
1
2
3
4
5docker run -p 8080:8080 -dit --privileged 08d0 /bin/bash //08d0为镜像ID --privileged为获取特权账户登录 docker run -dit -p 8081:8081 --network host 08d0
4. 容器启动并进入
复制代码
1
2docker exec -it c9a7 bash # c9a7为容器ID的前四位
5. 容器保存为镜像tar包
复制代码
1
2docker export 7e62 > centos_container.tar.gz # 7e62为容器ID
6. 加载由容器保存的镜像包
复制代码
1
2docker import centos_container.tar.gz centos7:latest # centos7:latest 为加载完成后镜像的名称和标签
7. 镜像保存为镜像tar包
复制代码
1
2
3
4docker save centos7.7:v1 -o centos7.tar # // 在本地产生一个centos7.tar的文件 # 修改后的容器保存为新镜像 docker commit container_id notsay/springboot-demo:20200302
8. 构建镜像包
复制代码
1
2
3docker build -t centos7 . # --注意最后句号,需要在当前目录有对应Dockerfile文件
9. 镜像打成tar包和导入
复制代码
1
2
3
4
5docker commit -a "yourname" -m "centos7" <容器ID> centos7.7:v1 # 从容器创建一个新的镜像 docker save centos7.7:v1 -o centos7.tar # // 在本地产生一个centos7.tar的文件 docker load -i centos.tar # 加载镜像包
10. 登录镜像仓库
复制代码
1
2docker login IP -u username -p passwd
赋权给普通用户使用docker
复制代码
1
2
3
4
5
6
7
8
9
10
111. 创建docker用户组 sudo groupadd docker 2.将普通用户加入用户组 sudo usermod -aG docker ${USER} 3.重启docker sudo systemctl restart docker 或 cat /var/run/docker.pid kill pid dockerd &
解决Docker权限问题
复制代码
1
2
3
4
5
6
7
8
9
10# vi /etc/docker/daemon.json { "insecure-registries":["0.0.0.0/0"] } # 重启docker 进程 cat /var/run/docker.pid kill (查询到的docker.pid) dockerd &
Dockerfile
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27FROM centos-image:latest # add libaio WORKDIR / COPY libaio-0.3.109-13.el7.x86_64.rpm / RUN rpm -ivh libaio-0.3.109-13.el7.x86_64.rpm # add nodejs ADD node-v12.16.1-linux-x64.tar.xz /usr/local RUN mv /usr/local/node-v12.16.1-linux-x64 /usr/local/node ENV PATH=$PATH:/usr/local/node/bin # add pm2 ADD pm2.tar.gz /usr/local/node/lib/node_modules ENV PATH=$PATH:/usr/local/node/lib/node_modules/pm2/bin # add oracle ADD instantclient_12_2.tar.gz /opt RUN ln -sf /opt/instantclient_12_2/libclntsh.so.12.1 /opt/instantclient_12_2/libclntsh.so && ln -sf /opt/instantclient_12_2/libocci.so.12.1 /opt/instantclient_12_2/libocci.so ENV OCI_INCLUDE_DIR=/opt/instantclient_12_2/sdk/include/ OCI_LIB_DIR=/opt/instantclient_12_2 LD_LIBRARY_PATH=/opt/instantclient_12_2 # add java # ADD jdk-linux-x64.tar.gz /usr/local # ENV JAVA_HOME=/usr/local/jdk1.8.0_131 PATH=$PATH:/usr/local/jdk1.8.0_131/bin # ENV PATH=$PATH:/usr/local/jdk1.8.0_131/bindockerdocker # set timezone RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone #set workdir WORKDIR /app COPY init.sh /app CMD sh init.sh
最后
以上就是还单身柜子最近收集整理的关于Docker镜像操作命令记录的全部内容,更多相关Docker镜像操作命令记录内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复