CentOS Docker 安装
移除旧的版本:
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
安装一些必要的系统工具:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
添加软件源信息:
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新 yum 缓存:
sudo yum makecache fast
安装 Docker-ce:
sudo yum -y install docker-ce
启动 Docker 后台服务:
sudo systemctl start docker
测试运行 hello-world:
[root@runoob ~]# docker run hello-world
Docker命令
# 查询容器命令
$ docker ps [options]
# 查看某一容器详细信息
$ docker inspect 容器id(可以区分的前几位即可)
# 查询镜像命令
$ docker images [options]
# docker容器可以理解为在沙盒中运行的进程
# 进程结束的时候,容器也就停止了
# 命令/程序在镜像中运行的进程就是就是容器???
$ docker run 镜像 命令
# 保存对容器的修改(通常就是安装环境、发布配置文件、部署新版本等) - 生成新的镜像
# 先查询出来修改后容器的id
$ docker ps -l
# 保存容器到新的镜像,id只用前几位进行区分就行
$ docker commit 698 learn/ping
# 然后就可以运行新的镜像
$ docker run lean/ping ping www.www.baidu.com
# 发布镜像,push,类似于git
# 这里的learn其实是用户名,用的时候再看怎么搞
$ docker push learn/ping
# 运行时参数
# -d 表示后台运行
# -p 5000:5000 表示容器内部的 5000 端口映射到我们本地主机的 5000 端口上
$ docker run -d -p 5000:5000 training/webapp python app.py
# -P 表示容器内部端口随机映射到主机的高端口
$ docker run -d -P training/webapp python app.py
# 可以查看指定 (ID或者名字)容器的某个确定端口映射到宿主机的端口号
$ docker port 容器id
# 可以查看容器内部的标准输出
# -f:让 docker logs 像使用 tail -f 一样来输出容器内部的标准输出。
$ docker logs -f 容器id
# 停止WEB应用容器
$ docker stop 容器id或名称
# 重启WEB应用容器
$ docker start 容器名称
# 移除WEB应用容器
$ docker rm 容器名称
# -t:在新容器内指定一个伪终端或终端。
# -i:允许你对容器内的标准输入 (STDIN) 进行交互。
$ docker run -t -i centos /bin/bash