进入容器正在执行的终端

[root@iZf0railv34ewtZ /]# docker inspect 300e315adb2f
[
    {
        "Id": "sha256:300e315adb2f96afe5f0b2780b87f28ae95231fe3bdd1e16b9ba606307728f55",
        "RepoTags": [
            "centos:latest"
        ],
        "RepoDigests": [
            "centos@sha256:5528e8b1b1719d34604c87e11dcd1c0a20bedf46e83b5632cdeac91b8c04efc1"
        ],
        "Parent": "",
        "Comment": "",
        "Created": "2020-12-08T00:22:53.076477777Z",
        "Container": "395e0bfa7301f73bc994efe15099ea56b8836c608dd32614ac5ae279976d33e4",
        "ContainerConfig": {
            "Hostname": "395e0bfa7301",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            ],
            "Cmd": [
                "/bin/sh",
                "-c",
                "#(nop) ",
                "CMD [\\"/bin/bash\\"]"
            ],
            "Image": "sha256:6de05bdfbf9a9d403458d10de9e088b6d93d971dd5d48d18b4b6758f4554f451",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {
                "org.label-schema.build-date": "20201204",
                "org.label-schema.license": "GPLv2",
                "org.label-schema.name": "CentOS Base Image",
                "org.label-schema.schema-version": "1.0",
                "org.label-schema.vendor": "CentOS"
            }
        },
        "DockerVersion": "19.03.12",
        "Author": "",
        "Config": {
            "Hostname": "",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            ],
            "Cmd": [
                "/bin/bash"
            ],
            "Image": "sha256:6de05bdfbf9a9d403458d10de9e088b6d93d971dd5d48d18b4b6758f4554f451",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {
                "org.label-schema.build-date": "20201204",
                "org.label-schema.license": "GPLv2",
                "org.label-schema.name": "CentOS Base Image",
                "org.label-schema.schema-version": "1.0",
                "org.label-schema.vendor": "CentOS"
            }
        },
        "Architecture": "amd64",
        "Os": "linux",
        "Size": 209348104,
        "VirtualSize": 209348104,
        "GraphDriver": {
            "Data": {
                "MergedDir": "/var/lib/docker/overlay2/e7d9fc4fb8892ea2ddd9521bf8478d05893e376be5e0ea4d3e5f90648952b38b/merged",
                "UpperDir": "/var/lib/docker/overlay2/e7d9fc4fb8892ea2ddd9521bf8478d05893e376be5e0ea4d3e5f90648952b38b/diff",
                "WorkDir": "/var/lib/docker/overlay2/e7d9fc4fb8892ea2ddd9521bf8478d05893e376be5e0ea4d3e5f90648952b38b/work"
            },
            "Name": "overlay2"
        },
        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:2653d992f4ef2bfd27f94db643815aa567240c37732cae1405ad1c1309ee9859"
            ]
        },
        "Metadata": {
            "LastTagTime": "0001-01-01T00:00:00Z"
        }
    }
]

从容器内拷贝文件到主机上

[root@iZf0railv34ewtZ /]# docker cp efba67c470ac:/home/test.java /home
[root@iZf0railv34ewtZ /]# cd home
[root@iZf0railv34ewtZ home]# ls
redis  redis-6.2.1  redis-6.2.1.tar.gz  test.java  tomcat2  www

使用容器部署Nginx

#运行容器Nginx
#-d以后台的方式运行
#--name 容器的名字
#-p 宿主机端口:容器端口
[root@iZf0railv34ewtZ /]# docker run -d --name myNginx -p 1234:80 nginx
6f3f5dcf9512fbc9f404c7edb5a33c9019b7cf033805e2cbbf3955fa72aa8f98

#测试是否可以访问
[root@iZf0railv34ewtZ /]# curl localhost:1234
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="<http://nginx.org/>">nginx.org</a>.<br/>
Commercial support is available at
<a href="<http://nginx.com/>">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

#进入容器
[root@iZf0railv34ewtZ /]# docker exec -it myNginx /bin/bash
root@6f3f5dcf9512:/#

部署tomcat

[root@iZf0railv34ewtZ ~]# docker run -d --name tomcat02 -p 1234:8080 tomcat
Unable to find image 'tomcat:latest' locally
latest: Pulling from library/tomcat
b9a857cbf04d: Already exists 
d557ee20540b: Already exists 
3b9ca4f00c2e: Already exists 
667fd949ed93: Already exists 
661d3b55f657: Already exists 
511ef4338a0b: Already exists 
a56db448fefe: Already exists 
00612a99c7dc: Already exists 
326f9601c512: Already exists 
c547db74f1e1: Already exists 
Digest: sha256:94cc18203335e400dbafcd0633f33c53663b1c1012a13bcad58cced9cd9d1305
Status: Downloaded newer image for tomcat:latest
f359681d133303dc16e4310e4d7d32ad1a1cdd829c1e6d3a81f7383ab1fc13cc
[root@iZf0railv34ewtZ ~]# docker ps
CONTAINER ID   IMAGE     COMMAND             CREATED         STATUS         PORTS                    NAMES
f359681d1333   tomcat    "catalina.sh run"   5 minutes ago   Up 5 minutes   0.0.0.0:1234->8080/tcp   tomcat02
[root@iZf0railv34ewtZ ~]# docker exec -it tomcat02
"docker exec" requires at least 2 arguments.
See 'docker exec --help'.

Usage:  docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

Run a command in a running container
[root@iZf0railv34ewtZ ~]# docker exec -it tomcat02 /bin/bash
root@f359681d1333:/usr/local/tomcat# ls
BUILDING.txt     NOTICE         RUNNING.txt  lib             temp          work
CONTRIBUTING.md  README.md      bin          logs            webapps
LICENSE          RELEASE-NOTES  conf         native-jni-lib  webapps.dist
root@f359681d1333:/usr/local/tomcat# cp webapps.dist/* webapps
cp: -r not specified; omitting directory 'webapps.dist/ROOT'
cp: -r not specified; omitting directory 'webapps.dist/docs'
cp: -r not specified; omitting directory 'webapps.dist/examples'
cp: -r not specified; omitting directory 'webapps.dist/host-manager'
cp: -r not specified; omitting directory 'webapps.dist/manager'
root@f359681d1333:/usr/local/tomcat# cp -r webapps.dist/* webapps
root@f359681d1333:/usr/local/tomcat# read escape sequence
[root@iZf0railv34ewtZ ~]# ^C
[root@iZf0railv34ewtZ ~]#

安装portainer可视化面板

#安装命令
[root@iZf0railv34ewtZ ~]# docker run -d -p 9000:9000 \\
>     --restart=always \\
>     -v /var/run/docker.sock:/var/run/docker.sock \\
>     --name prtainer-test \\
>     portainer/portainer

dockerfile构建自己的镜像

FROM centos #基础
MAINTAINER ikart<shenhuan0107.gemail.com> #作者信息

ENV MYENV /usr/local 
WORKDIR $MYENV
RUN yum -y install vim
RUN yum -y install net-tools

EXPOSE 9999
CMD "---successfully built---"
CMD /bin/bash