linux怎么查看本机内存大小
299
2022-10-17
Docker镜像与Docker容器的常用操作命令
@toc
镜像相关命令
[root@administrator ~]# docker image -help unknown shorthand flag: 'e' in -elp See 'docker image --help'. Usage: docker image COMMAND Manage images Commands: build Build an image from a Dockerfile history Show the history of an image import Import the contents from a tarball to create a filesystem image inspect Display detailed information on one or more images load Load an image from a tar archive or STDIN ls List images prune Remove unused images pull Pull an image or a repository from a registry push Push an image or a repository to a registry rm Remove one or more images save Save one or more images to a tar archive (streamed to STDOUT by default) tag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE Run 'docker image COMMAND --help' for more information on a command.
搜索镜像
从镜像仓库中查找需要的镜像:docker search 镜像名称
[root@administrator ~]# docker search tomcat NAME DESCRIPTION STARS OFFICIAL AUTOMATED tomcat Apache Tomcat is an open source implementati… 3377 [OK] tomee Apache TomEE is an all-Apache Java EE certif… 97 [OK] bitnami/tomcat Bitnami Tomcat Docker Image 46 [OK] arm32v7/tomcat Apache Tomcat is an open source implementati… 11 arm64v8/tomcat Apache Tomcat is an open source implementati… 8 rightctrl/tomcat CentOS , Oracle Java, tomcat application ssl… 7 [OK] amd64/tomcat Apache Tomcat is an open source implementati… 4 jelastic/tomcat An image of the Tomcat Java application serv… 4 tomcat2111/pisignage-server PiSignage Server 3 [OK] oobsri/tomcat8 Testing CI Jobs with different names. 2 cfje/tomcat-resource Tomcat Concourse Resource 2 chenyufeng/tomcat-centos tomcat基于centos6的镜像 1 [OK] ppc64le/tomcat Apache Tomcat is an open source implementati… 1 appsvc/tomcat 1 wnprcehr/tomcat 0 tomcat2111/papercut-mf PaperCut MF Application Server 0 softwareplant/tomcat Tomcat images for jira-cloud testing 0 [OK] semoss/docker-tomcat Tomcat, Java, Maven, and Git on top of debian 0 [OK] secoresearch/tomcat-varnish Tomcat and Varnish 5.0 0 [OK] tomcatengineering/pg_backup_rotated Clone of martianrock/pg_backup_rotated but w… 0 misolims/miso-base MySQL 5.7 Database and Tomcat 8 Server neede… 0 tomcat2111/phpredisadmin This is a Docker image for phpredisadmin 0 [OK] tomcat2111/bitbucket-pipelines-elasticsearch Elasticsearch for Bitbucket's Pipelines 0 s390x/tomcat Apache Tomcat is an open source implementati… 0 tomcat0823/auto1
NAME:仓库名称 DESCRIPTION:镜像描述 STARS:用户评价,类似GitHub中start OFFICIAL:是否是官方镜像 AUTOMATED:自动构建,表示该镜像由Docker Hub自动构建流程创建的
拉取镜像
从镜像仓库中下载镜像到本地,类似Git的pull命令
docker image pull 镜像名称:版本号 / docker pul 镜像名称:版本号
docker image pull 镜像名称 /docker pull 镜像名称 (默认最新版)
拉取最新tomcat镜像:docker image pull tomcat
[root@administrator ~]# docker image pull tomcat Using default tag: latest latest: Pulling from library/tomcat 0e29546d541c: Extracting [=================================================> ] 54.03MB/54.92MB 9b829c73b52b: Download complete cb5b7ae36172: Download complete 6494e4811622: Downloading [=================================================> ] 54.07MB/54.57MB 668f6fcc5fa5: Download complete dc120c3e0290: Download complete 8f7c0eebb7b1: Downloading [=====> ] 23.62MB/203.1MB 77b694f83996: Download complete 0f611256ec3a: Downloading [==========================> ] 6.699MB/12.84MB 4f25def12f23: Waiting
拉取版本是8的tomcat:docker pull tomcat:8
[root@administrator ~]# docker pull tomcat:8 8: Pulling from library/tomcat 0e29546d541c: Already exists 9b829c73b52b: Already exists cb5b7ae36172: Already exists 6494e4811622: Already exists 668f6fcc5fa5: Already exists dc120c3e0290: Already exists 8f7c0eebb7b1: Already exists 77b694f83996: Already exists b7c26350ecc2: Pull complete 7365b3b02e1b: Pull complete Digest: sha256:421c2a2c73f3e339c787beaacde0f7bbc30bba957ec653d41a77d08144c6a028 Status: Downloaded newer image for tomcat:8 docker.io/library/tomcat:8
查看镜像
查看镜像:docker images
[root@administrator ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE tomcat 8 2d2bccf89f53 7 months ago 678MB tomcat latest fb5657adc892 7 months ago 680MB
REPOSITORY:镜像名称 TAG:镜像标签 IMAGE ID:镜像ID CREATED:镜像创建日期(不是获取该镜像日期) SIZE:镜像大小
这些镜像存储在Docker宿主机的/var/lib/docker目录下
[root@administrator ~]# ls /var/lib/docker buildkit containers image network overlay2 plugins runtimes swarm tmp trust volumes
删除镜像
按镜像ID删除镜像 / 按镜像名:版本号删除镜像
docker rmi 镜像ID / docker rmi 镜像名:版本号
docker rmi tomcat:8
[root@administrator ~]# docker rmi tomcat:8 Untagged: tomcat:8 Untagged: tomcat@sha256:421c2a2c73f3e339c787beaacde0f7bbc30bba957ec653d41a77d08144c6a028 Deleted: sha256:2d2bccf89f537fa253f6c5eb4fb42cfb6eb8ff6d60056325ff1d2c48cc1d29c4 Deleted: sha256:f0a503f69c7d06c432c241a1f14573a8cc7831926bf535a20ec82c36204b6a76 Deleted: sha256:4d6f5a116f23efaf86ccf0687fc7e7cbc23b42032a9ebbb2e0c8538dd3643d49
删除所有镜像
docker rmi `docker images -q` ( ` 不是引号哦,是Esc键下的)
容器相关命令
docker container -help
[root@administrator ~]# docker container -help unknown shorthand flag: 'e' in -elp See 'docker container --help'. Usage: docker container COMMAND Manage containers Commands: attach Attach local standard input, output, and error streams to a running container commit Create a new image from a container's changes cp Copy files/folders between a container and the local filesystem create Create a new container diff Inspect changes to files or directories on a container's filesystem exec Run a command in a running container export Export a container's filesystem as a tar archive inspect Display detailed information on one or more containers kill Kill one or more running containers logs Fetch the logs of a container ls List containers pause Pause all processes within one or more containers port List port mappings or a specific mapping for the container prune Remove all stopped containers rename Rename a container restart Restart one or more containers rm Remove one or more containers run Run a command in a new container start Start one or more stopped containers stats Display a live stream of container(s) resource usage statistics stop Stop one or more running containers top Display the running processes of a container unpause Unpause all processes within one or more containers update Update configuration of one or more containers wait Block until one or more containers stop, then print their exit codes Run 'docker container COMMAND --help' for more information on a command.
创建与启动容器
创建容器命令:docker run
创建容器常用的参数说明: -i:运行容器 -t:容器启动后会进入其命令行。 -it 容器创建并登录进去。即分配一个伪终端。 --name :为创建的容器命名。 -v:目录关系映射。 -v 宿主机目录 :映射到宿主机上的目录 -v /usr/local/tomcat:/usr/local/tomcat/webapps 多个-v 做多个目录或文件映射。最好做目录映射,在宿主机上做修改,然后共享到容器上。 -d:创建一个守护式容器在后台运行,在容器内部exit退出时,容器也不会停止。 -p:端口映射。 -p 宿主机端口:容器内的映射端口 -p 8080:8081 可以使用多个-p做多个端口映射
1.交互式方式创建容器并自动进入容器
docker run -it --name=容器名称(容器别名) 镜像名称:标签 /bin/bash docker run -it --name tomcat666 tomcat /bin/bash
[root@administrator ~]# docker run -it --name tomcat666 tomcat /bin/bash root@38333cef8df3:/usr/local/tomcat#
查看正在运行的容器 docker ps
此时新开一个会话 通过docker ps命令查看,发现可以看到启动的容器,状态为启动状态
[root@administrator ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 38333cef8df3 tomcat "/bin/bash" About a minute ago Up 3 seconds 8080/tcp tomcat666
退出当前容器
exit
再次docker ps 查看,发现没有已启容器
[root@administrator ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2.守护式方式创建容器:
docker run -di --name=容器名称 镜像名称:标签
[root@administrator ~]# docker run -di --name tomcat888 tomcat:latest b42176cb692620d02792c872f855bc91ffc763e6a7aee3294dca52d68c66d612
登录守护式容器方式:
docker exec -it 容器名称 (或者容器ID) /bin/bash
[root@administrator ~]# docker exec -it tomcat888 /bin/bash root@b42176cb6926:/usr/local/tomcat#
守护式容器方式创建的容器,在exit退出容器后,容器仍然处于运行状态
停止容器:
docker stop 容器名称(或者容器ID)
[root@administrator ~]# docker stop tomcat888 tomcat888
启动容器:
docker start 容器名称(或者容器ID)
[root@administrator ~]# docker start tomcat888 tomcat888
文件拷贝
使用cp命令将文件拷贝到容器内
docker cp 需要拷贝的文件或目录 容器名称:容器目录 docker cp auction.war tomcat666:/usr/local/tomcat/
将文件从容器内拷贝出来
docker cp 容器名称:容器目录 需要拷贝的文件或目录 docker cp tomcat666:/usr/local/tomcat/README.md ./
端口映射
目录挂载
在创建容器的时候,将宿主机的目录与容器内的目录进行映射,然后就可以通过修改宿主机某个目录的文件从而去影响容器内的文件。
将/usr/local/docker/tomcat1挂载到容器/usr/loacl/tomcat/webapps 目录
docker run -id --name tomcat666 -p 8081:8080 -v /usr/local/docker/tomcat1:/usr/local/tomcat/webapps tomcat
这里有个坑,最新版tomcat中有包含两个webapps 文件夹。webapps :该文件夹是空的。webapps.dist:里面有tomcat完整的文件夹和文件。将webapps.dist里文件拷贝到webapps 或者重命名webapps.dist为webapps。
访问 ip:8081,tomcat启动成功
在/usr/local/docker/tomcat1上传一个war包并查看,发现war自动解压
容器的管理
查看所有的容器 docker ps -a
查看正在运行的容器 docker ps
查看刚刚运行过的容器 docker ps -l
查看容器运行日志 docker logs 2048
容器运行的进程 docker top 2048
查看容器运行的各种数据 docker inspect 容器名称(容器ID)
查看容器信息---格式化 --format 获取容器IP地址 docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称(容器ID)
获取容器id,容器仓库地址 docker inspect --format='{{.Id}}' nginx docker inspect --format='{{.RepoDigests}}' nginx
删除容器
删除指定的容器,先停止容器再删除
docker rm 容器名称(容器ID)
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~