我是靠谱客的博主 还单身柜子,最近开发中收集的这篇文章主要介绍Docker镜像操作命令记录,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Docker镜像操作命令记录

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

docker pull centos:centos7.7.1908

2. 查看镜像信息

docker images
# 查看本地镜像信息
docker ps
# 查看容器信息

3. 通过镜像创建容器

docker run -p 8080:8080 -dit --privileged 08d0 /bin/bash
//08d0为镜像ID
--privileged为获取特权账户登录
docker run -dit -p 8081:8081 --network host 08d0

4. 容器启动并进入

docker exec -it c9a7 bash # c9a7为容器ID的前四位

5. 容器保存为镜像tar包

docker export 7e62 > centos_container.tar.gz # 7e62为容器ID

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

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

7. 镜像保存为镜像tar包

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

8. 构建镜像包

docker build -t centos7 .
# --注意最后句号,需要在当前目录有对应Dockerfile文件

9. 镜像打成tar包和导入

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. 登录镜像仓库

docker login IP -u username -p passwd

赋权给普通用户使用docker

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权限问题

#
vi /etc/docker/daemon.json
{
"insecure-registries":["0.0.0.0/0"]
}
# 重启docker 进程
cat /var/run/docker.pid
kill (查询到的docker.pid)
dockerd &

Dockerfile

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镜像操作命令记录所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部