[关闭]
@hx 2018-04-25T14:53:32.000000Z 字数 2644 阅读 1008

Docker


安装Dcoker

官网

English 含义
host 宿主机
image 镜像
container 容器
registry 仓库
daemon 守护进程
client 客户机
  1. $ curl -fsSL get.docker.com -o get-docker.sh
  2. $ sudo sh get-docker.sh

启动docker:service docker start

检查docker是否安装成功:docker version,如果出现ClientServer列表则表示docker已经安装成功。

  1. $ sudo yum install -y yum-utils \
  2. device-mapper-persistent-data \
  3. lvm2
  1. $ sudo yum-config-manager \
  2. --add-repo \
  3. https://download.docker.com/linux/centos/docker-ce.repo
  1. $ sudo yum install docker-ce

启动Docker
$ sudo systemctl start docker
docker通过运行hello-world 映像验证安装是否正确。
$ sudo docker run hello-world

使用Docker

因不可描述,docker官方镜像pull速度太慢,所以可以使用ali镜像。
可以去阿里容器镜像服务获取专属镜像加速器,依据下面的操作文档配置镜像加速器

docker pull [options] name [:tag] 拉取名为name的image
docker images [options] [repository[:tag]] 查看image
docker run [options] imageName[:tag] [command][arg...] 运行名为imageName的container
docker run -d [options] image 后台运行image,并返回container id

docker run -d -p 8080:80 imageName:后台运行名为imageName这个container并将本地的8080端口映射到container的80端口。-P是将所有暴露的端口发布到随机端口,netstat -na|grep 8080是查看8080端口的情况。

docker restart container 重启container
docker stop container 停止运行container
docker kill container 杀死container
docker ps 查看当前运行的container (-a 查看所有container)
docker exec [options] container command [arg...] 在正在运行的container中运行一个command,(-i 保证输入有效性; -t 分配一个伪终端,如bash)
docker rmi image 删除image
docker rm container 删除container (-f -r 强制删除;删除与容器相关联的卷)
docker cp 在host和container之间拷贝文件
docker commit 保存改动为新的image

Dockerfile

docker build 创建image
-t 标签
. 路径名

  1. FORM // 基础镜像
  2. MAINTAINER // 作者
  3. CMD // 执行命令
  4. RUN // 执行命令
  5. COPY // 拷贝文件
  6. ADD // 添加文件
  7. EXPOSE // 暴露端口
  8. WORKDIR // 指定运行命令的路径
  9. ENV // 设置环境变量
  10. ENTRYPOINT // 容器入口 优先级比CMD高
  11. USER // 指定用户
  12. VOLUME // mount point

Volume

  1. "Mounts": [
  2. {
  3. "Type": "volume",
  4. "Name": "152fca4d2caa5f79ff338d24a8cf31a3195b1aceee2da10e123af8a6892f1bbf",
  5. // 这里是host挂载点。
  6. "Source": "/var/lib/docker/volumes/152fca4d2caa5f79ff338d24a8cf31a3195b1aceee2da10e123af8a6892f1bbf/_data",
  7. "Destination": "/usr/share/nginx/html",
  8. "Driver": "local",
  9. "Mode": "",
  10. "RW": true,
  11. "Propagation": ""
  12. }
  13. ],

echo "这里写内容" > filename 将字符串写入到filename文件(覆盖)。

多容器app

  1. curl -L https://github.com/docker/compose/releases/download/1.17.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

安装 docker-compose 到 /usr/local/bin下,
uname -s // Linux
uname -m // x86-64

ls -l /usr/local/bin/docker-compose 检查文件是否下载成功

chmod a+x /usr/local/bin/docker-compose 将 docker-compose 变为可执行文件, a+x是任何用户都可使用。

docker-compose --version 检查命令是否可执行。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注