1、加入Docker的安装源:
# vim /etc/yum.repos.d/docker.repo
编辑docker.repo 如下:
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
退出保存
# :wq!
2、pull安装docker
# yum -y install docker-engine
3、安装结束后,启动docker
# systemctl start docker.service
4、设置docker开启启动
# systemctl enable docker.service
5、 打开防火墙(这一步很重要,否则本机的容器绑定主机端口提供服务时,本机的其它容器无法访问该服务)
sudo firewall-cmd –permanent –zone=trusted –add-interface=docker0
sudo firewall-cmd –permanent –zone=trusted –add-port=xxxx/tcp # xxxx改为你希望的端口号
sudo firewall-cmd –reload
Docker相关使用操作:
① 搜索镜像,使用docker search,例如:
# docker search centos
# docker search mysql
② 获取镜像,使用docker pull命令从Docker Hub的仓库下载一个最新镜像,例如:
# docker pull centos
# docker pull nginx
③ 查看镜像信息:
# docker images
④ 查看启动的容器:
# docker ps -a
⑤ 删除镜像,首先删除依赖该镜像的所有容器,再删除镜像
# docker rm ID
# docker rmi -f imagesname
ID是容器ID,imagesname是镜像名字
⑥ 创建、提交新的镜像
# docker commit containerid imagename
这里的containerid是容器的id,imagename就是提交时候镜像的名称。
⑦ 创建容器,启动一个bash终端,允许用户进行交互:
# docker run -t -i centos:latest /bin/bash
终止容器:
# docker stop ID
ID是容器ID
进入启动的容器:
# docker exec -ti ID /bin/bash
删除容器:
# docker rm ID
在容器内创建一个数据卷
# docker run -tid --name wwb -v /usr/webapp:/opt/webapp centos:latest /bin/bash
docker run 命令参数详解:
-d --detach
docker run 后面追加-d=true或者-d,则containter将会运行在后台模式(Detached mode)
–dns
–dns=[] Set custom DNS servers
自定义DNS.
# docker run -it --dns=8.8.8.8 --rmubuntu:14.04 /bin/bash
root@b7a6f0e63e65:/# cat /etc/resolv.conf
nameserver 8.8.8.8
-i, --interactive=false
保持标准输入,常同-t一起使用来申请一个控制台进行数据交互
-t, --tty
分配一个模拟终端,常和-i一块使用.
--link
用于连接两个容器。
启动容器1:web
docker run --name web -d -p 22 -p 80 -itwebserver:v1
启动容器2:ap1连接到web,并命名为apache
docker run --name ap1 --link=web:apache -d-p 22 -p 80 -it webserver:v1
--name
为容器指定一个名字。
# docker run -it --name=web ubuntu:14.04 /bin/bash
-P --publish-all
对外映射所有端口
-p --publish
对外映射指定端口,如不指定映射后的端口将随机指定。
#docker run –d -p 10022:22 -p 10080:80 -itwebserver:v1
使用docker run来启动我们创建的容器。-d让容器以后台方式运行。使用多个-p来映射多个端口,将容器的22端口映射为本地的10022,80映射为10080。