常见Docker容器操作命令

https://www.runoob.com/docker/docker-resources.html
docker run -itd -p 9103:8080/tcp --name new_tomcats --rm -h host_ubuntu --dns=114.114.114.114 --dns-search=test.com --network ltest -v /root/testtomcatlog/:/usr/local/tomcat/logs -v /root/webapps/:/usr/local/tomcat/webapps $(docker images -a | grep openjdk | awk -F " " '{print $3}') /bin/bash

       -i 交互式
       -t 终端命令行
       -d 后台运行
        -v 文件夹映射
        -P 不带参数,随机映射
        -p 外内关系
        docker images -a (列出所有镜像,查看镜像ID)
        --name: 给容器指定一个名称。
        -p, --publish: 端口映射,格式为 host_port:container_port。
        -v, --volume: 挂载卷,格式为 host_dir:container_dir。
        -e, --env: 设置环境变量。
        --network: 指定容器的网络模式。
        --restart: 容器的重启策略(如 no、on-failure、always、unless-stopped)。
        -u, --user: 指定用户。
        --entrypoint: 覆盖容器的默认入口点。
        --detach: 在后台创建容器。

docker exec -it new_tomcats /bin/bash

        进入容器命令行,推出命令行不影响容器

docker stop new_tomcats
查看容器的详细信息
docker inspect new_tomcats
查看资源使用情况
docker stats new_tomcats
复制文件
从容器复制文件到宿主机

docker cp my_container:/path/in/container /path/on/host
将容器 my_container 内的 /path/in/container 文件或目录复制到宿主机的 /path/on/host。

从宿主机复制文件到容器

docker cp /path/on/host my_container:/path/in/container
将宿主机上的 /path/on/host 文件或目录复制到容器 my_container 内的 /path/in/container。

从容器复制目录到宿主机

docker cp my_container:/path/in/container /path/on/host
将容器内的 /path/in/container 目录及其内容复制到宿主机的 /path/on/host。

从宿主机复制目录到容器

docker cp /path/on/host my_container:/path/in/container
将宿主机上的 /path/on/host 目录及其内容复制到容器 my_container 内的 /path/in/container。
1、保存单个镜像到文件

docker save -o myimage.tar myimage:latest
这将 myimage:latest 镜像保存为 myimage.tar 文件。

2、保存多个镜像到同一个文件

docker save -o multiple_images.tar myimage:latest anotherimage:latest
这将 myimage:latest 和 anotherimage:latest 镜像保存到 multiple_images.tar 文件中。
1、从文件加载镜像

docker load -i myimage.tar
这将从 myimage.tar 文件中加载镜像。

2、从标准输入加载镜像

cat myimage.tar | docker load
这将通过管道从标准输入加载镜像。
导出镜像
docker export new_tomcats > tomcat.tar
导入镜像到Images
docker import tomcat.tar rtest/tomcat
清理掉所有处于终止状态的容器
docker container prune
删除容器
docker rm -f new_tomcat
删除镜像
docker rmi d09bdb9466ea #镜像ID
查看网络映射情况
docker port new_tomcats
查看日志
docker logs -f new_tomcats
查看容器运行情况
docker top new_tomcats
容器重命名
docker rename 123abc456def my_new_container
将容器内的变更提交更新到镜像中
docker commit -m="update" -a="lyang" new_tomcats rtest/new_tomcats:v2
创建docker 网络,用于内部通信
docker network create -d bridge ltest

                    -d:参数指定 Docker 网络类型,有 bridge、overlay

打包镜像
docker build -t new_tomcats .

docker启动脚本

Dockerfile
https://www.runoob.com/docker/docker-dockerfile.html
构建镜像
我们使用命令 docker build , 从零开始来创建一个新的镜像。为此,我们需要创建一个 Dockerfile 文件,其中包含一组指令来告诉 Docker 如何构建我们的镜像。

runoob@runoob:~$ cat Dockerfile
FROM centos:6.7
MAINTAINER Fisher "fisher@sudops.com"

RUN /bin/echo 'root:123456' |chpasswd
RUN useradd runoob
RUN /bin/echo 'runoob:123456' |chpasswd
RUN /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
EXPOSE 22
EXPOSE 80
CMD /usr/sbin/sshd -D
每一个指令都会在镜像上创建一个新的层,每一个指令的前缀都必须是大写的。

第一条FROM,指定使用哪个镜像源

RUN 指令告诉docker 在镜像内执行命令,安装了什么。。。

然后,我们使用 Dockerfile 文件,通过 docker build 命令来构建一个镜像。

标签:none

本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。