概述
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镜像操作命令记录所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复