docker官网:http://www.docker.com
docker中文网站:https://www.docker.com/
仓库
Docker Hub官网: https://hub.docker.com/
官网文档地址
yum-utils提供了yum-config-manager 效用,并device-mapper-persistent-data和lvm2由需要 devicemapper存储驱动程序。
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
也可以设置为阿里云的镜像
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
1、安装最新版本的Docker Engine-Community和containerd
sudo yum install docker-ce docker-ce-cli containerd.io
2、安装特定版本:
要安装特定版本的Docker Engine-Community,请在存储库中列出可用版本,然后选择并安装:
一种。列出并排序您存储库中可用的版本。此示例按版本号(从高到低)对结果进行排序,并被截断:
$ yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable
返回的列表取决于启用了哪些存储库,并且特定于您的CentOS版本(.el7在本示例中以后缀表示)。
b。通过其完全合格的软件包名称安装特定版本,该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。例如,docker-ce-18.09.1。
$ sudo yum install docker-ce- docker-ce-cli- containerd.io
启动docker
$ sudo systemctl start docker
通过运行hello-world 映像来验证是否正确安装了Docker Engine-Community
这个命令会下载一个镜像并运行这个镜像为一个容器,当容器运行之后将打印镜像信息。
$ sudo docker run hello-world
如果您不能使用Docker的存储库来安装Docker,则可以下载该.rpm版本的 文件并手动安装。每次要升级Docker Engine-Community时,都需要下载一个新文件。
1、下载
转到 https://download.docker.com/linux/centos/7/x86_64/stable/Packages/ 并下载.rpm要安装的Docker版本的文件。
注意:要安装 nightly 或 test(预发布)软件包,请将上述URL中的stable单词更改为nightly或test。
2、安装Docker Engine-Community,将下面的路径更改为您下载Docker软件包的路径。
$ sudo yum install /path/to/package.rpm
(可选)Docker已安装但尚未启动。docker创建该组,但没有用户添加到该组。可以创建用户并添加到docker组。
3、启动Docker。
$ sudo systemctl start docker
4、测试。通过运行hello-world 映像来验证是否正确安装了Docker Engine-Community 。
$ sudo docker run hello-world
查看所有命令https://docs.docker.com/engine/reference/commandline/docker/
操作 | 命令 | 说明 |
---|---|---|
检索 | docker search 关键字 eg:docker search tomcat | 去仓库中检索镜像信息 |
拉取 | docker pull (镜像名:tag) | tag是可选参数,为软件的版本,默认是最新的 |
列表 | docker images | 查找所有本地镜像 |
删除 | docker rmi image-id | 删除指定的本地镜像 |
创建启动一个做端口映射的容器 | docker run --name myTomcat -d -p 8888:8080 imageName:tag | -d:后台运行 -p:端口映射 --name:自定义的容器名 |
查看运行中的容器 | docker ps | |
停止运行中的容器 | docker stop 容器的id | |
启动容器 | docker start 容器的id | |
查看所有的容器 | docker ps -a | |
删除一个容器 | docker rm 容器id | |
进入到容器内部 | docker exec -it 6b654059476e /bin/bash | -it参数后面是容器的id |
[root@localhost xinetd.d]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
12baee14dfd1 tomcat:latest "catalina.sh run" About an hour ago Up 35 minutes 0.0.0.0:8080->8080/tcp tomcat8080
[root@localhost xinetd.d]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
12baee14dfd1 tomcat:latest "catalina.sh run" About an hour ago Up 35 minutes 0.0.0.0:8080->8080/tcp tomcat8080
启动容器
[root@localhost xinetd.d]# docker start 12baee14dfd1
12baee14dfd1
[root@localhost xinetd.d]# docker run --name tomcat02 -d -p 8081:8080 tomcat:latest
9589ee957b5edf6d093fe033a5d3268a3098f4eecf8dc7e4547f725bc03aff9a
docker: Error response from daemon: driver failed programming external connectivity on endpoint tomcat02 (8ea1d066f081004b64f921ed733e2947b8494e33655f2a82cb85eef065ed49a3): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 8081 -j DNAT --to-destination 172.17.0.3:8080 ! -i docker0: iptables: No chain/target/match by that name.
(exit status 1)).
[root@localhost xinetd.d]# docker run --name tomcat02 -d -p 8081:8080 tomcat:latest
9589ee957b5edf6d093fe033a5d3268a3098f4eecf8dc7e4547f725bc03aff9a
docker: Error response from daemon: driver failed programming external connectivity on endpoint tomcat02 (8ea1d066f081004b64f921ed733e2947b8494e33655f2a82cb85eef065ed49a3): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 8081 -j DNAT --to-destination 172.17.0.3:8080 ! -i docker0: iptables: No chain/target/match by that name.
(exit status 1)).