我是靠谱客的博主 还单身柜子,这篇文章主要介绍Docker镜像操作命令记录,现在分享给大家,希望可以做个参考。

Docker镜像操作命令记录

1. 从网络上直接拉取镜像

复制代码
1
2
docker pull centos:centos7.7.1908

2. 查看镜像信息

复制代码
1
2
3
4
5
docker images # 查看本地镜像信息 docker ps # 查看容器信息

3. 通过镜像创建容器

复制代码
1
2
3
4
5
docker run -p 8080:8080 -dit --privileged 08d0 /bin/bash //08d0为镜像ID --privileged为获取特权账户登录 docker run -dit -p 8081:8081 --network host 08d0

4. 容器启动并进入

复制代码
1
2
docker exec -it c9a7 bash # c9a7为容器ID的前四位

5. 容器保存为镜像tar包

复制代码
1
2
docker export 7e62 > centos_container.tar.gz # 7e62为容器ID

6. 加载由容器保存的镜像包

复制代码
1
2
docker import centos_container.tar.gz centos7:latest # centos7:latest 为加载完成后镜像的名称和标签

7. 镜像保存为镜像tar包

复制代码
1
2
3
4
docker save centos7.7:v1 -o centos7.tar # // 在本地产生一个centos7.tar的文件 # 修改后的容器保存为新镜像 docker commit container_id notsay/springboot-demo:20200302

8. 构建镜像包

复制代码
1
2
3
docker build -t centos7 . # --注意最后句号,需要在当前目录有对应Dockerfile文件

9. 镜像打成tar包和导入

复制代码
1
2
3
4
5
docker 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
2
docker login IP -u username -p passwd

赋权给普通用户使用docker

复制代码
1
2
3
4
5
6
7
8
9
10
11
1. 创建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
27
FROM 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镜像操作命令记录内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部