在阅读本文前,建议参照笔者的这篇get start简记
从0带你极简入门docker
docker时一个开源的容器引擎,有助于更快的交付应用,docker可将应用程序和基础设施层隔离,并且能够将基础设施当作程序一样进行管理。使用docker可以更快的进行打包、测试部署应用程序,从而缩短程序开发周期。
yum remove docker docker-common docker-selinux docker-engine
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates | sort -r
yum install docker-ce
docer version
systemctl start docker
systemctl enable docker
vim /etc/docker/daemon.json
重启生效
systemctl daemon-reload
systemctl restart docker
yum -y remove docker-engine
rm -rf /var/lib/docker
docker search java
可以得到这样的结果。每一列的意思分别是
NAME:镜像仓库名称
DESCRIPTION:镜像仓库描述
STARS:收藏数
OFFICIAL:表这个仓库是否是官方仓库,若显示ok则说明是官方创建和维护的
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
node Node.js is a JavaScript-based platform for s… 11312 [OK]
tomcat Apache Tomcat is an open source implementati… 3297 [OK]
openjdk OpenJDK is an open-source implementation of … 3220 [OK]
java DEPRECATED; use "openjdk" (or other JDK impl… 1976 [OK]
ghost Ghost is a free and open source blogging pla… 1492 [OK]
couchdb CouchDB is a database that uses JSON for doc… 467 [OK]
jetty Jetty provides a Web server and javax.servle… 383 [OK]
amazoncorretto Corretto is a no-cost, production-ready dist… 196 [OK]
circleci/node Node.js is a JavaScript-based platform for s… 127
groovy Apache Groovy is a multi-faceted language fo… 125 [OK]
tomee Apache TomEE is an all-Apache Java EE certif… 95 [OK]
ibmjava Official IBM® SDK, Java™ Technology Edition … 95 [OK]
docker pull java
使用这条命令就可以知晓我们之前所下载的镜像
docker images
下图列意依次为:
如下所示,即意为删除java的镜像
docker rmi java
使用docker run即可创建并启动一个容器,这是最常用的一个命令,他还有很多的选项如下所示
-d 表示后台运行
-P 随机端口映射
-p 指定端口映射,有以下四种格式
ip:hostPort:containerPort
ip::containerPort
containerPort
--network选项:指定docker的网络模式,该选项有以下几个参数
--network=bridge 连接默认网桥
--network=host 仅主机
--network=container:Name_or_I:这种就是格式docker让新建的容器使用已有容器的网络配置
--network=none 无网络配置
使用映射端口的形式运行nginx
docker pull nginx
docker run -d -p 91:80 nginx
使用91端口即可访问到页面
补充:笔者使用阿里云做实验,默认91端口没开,所以需要按照下图所示将91端口开放
具体可以参考
阿里云服务器开放端口教程(通过配置安全组规则)
docker ps
如下图所示,可知nginx的container id为c93a0e0ac108
docker stop c93a0e0ac108
再次使用docker ps可以看到这个容器已经被关闭了
当然如果我们需要再开启还可以使用docker start 容器id
启动
docker start c93a0e0ac108
docker inspect --format "{{.State.Pid}}" 容器id
docker inspect --format "{{.State.Pid}}" c93a0e0ac108
输出
16951
nsenter --target 16951 --mount --uts --ipc --net --pid
可以看到我们已经进入docker了,并可以操作
docker rm 容器id
yum源安装docker
docker配置阿里云镜像加速器
《Spring Cloud与Docker微服务架构实战》