Docker 是一个开源的商业产品,有两个版本:社区版(Community Edition,缩写为 CE)和企业版(Enterprise Edition,缩写为 EE)。企业版包含了一些收费服务,个人开发者一般用不到。下面的介绍都针对社区版。Docker CE 的安装请参考官方文档。

1、安装运行

    安装完成后,运行下面的命令,验证是否安装成功。

docker version

    或者:

 docker info

    Docker 需要用户具有 sudo 权限,为了避免每次命令都输入sudo,可以把用户加入 Docker 用户组。

sudo usermod -aG docker $USER

    Docker 是服务器----客户端架构。命令行运行docker命令的时候,需要本机有 Docker 服务。如果这项服务没有启动,可以用下面的命令启动:

sudo service docker start
sudo systemctl start docker
2、创建image文件
docker image build -t demo
docker image build -t demo:0.0.1 

    注:-t参数用来指定 image 文件的名字,后面还可以用冒号指定标签。如果不指定,默认的标签就是latest

    运行成功,就可以看到新生成的 image 文件demo了。

docker image ls
3、生成容器

    从 image 文件生成容器。

docker container run -p 8000:3000 -it demo:0.0.1 /bin/bash

    其中:

  (1)-p参数:容器的 3000 端口映射到本机的 8000 端口。

  (2)-it参数:容器的 Shell 映射到当前的 Shell,然后你在本机窗口输入的命令,就会传入容器。

  (3)demo:0.0.1:image 文件的名字(如果有标签,还需要提供标签,默认是 latest 标签)。

  (4)/bin/bash:容器启动以后,内部第一个执行的命令。这里是启动 Bash,保证用户可以使用 Shell。

     可以用docker container kill终止容器运行。

    查找容器ID。

docker container ls

    停止指定的容器运行。

docker container kill [containerID]

    容器停止运行之后,并不会消失。

    删除指定的容器文件。

docker container rm [containerID]

    也可以使用docker container run命令的--rm参数,在容器终止运行后自动删除容器文件。

docker container run --rm -p 8000:3000 -it demo /bin/bash
4、发布容器

    容器运行成功后,就确认了 image 文件的有效性。这时,我们就可以考虑把 image 文件分享到网上,让其他人使用。首先,去hub.docker.comcloud.docker.com注册一个账户。然后,用下面的命令登录。

docker login

    接着,为本地的 image 标注用户名和版本。

docker image tag [imageName] [username]/[repository]:[tag]
#实例 docker image tag demos:0.0.1 ruanyf/demos:0.0.1

    发布 image 文件。

 docker image push [username]/[repository]:[tag]

    发布成功以后,登录 hub.docker.com,就可以看到已经发布的 image 文件。 

5、其它常见操作
5.1 启动容器

    前面的docker container run命令是新建容器,每运行一次,就会新建一个容器。同样的命令运行两次,就会生成两个一模一样的容器文件。如果希望重复使用容器,就要使用docker container start命令,它用来启动已经生成、已经停止运行的容器文件。

docker container start [containerID]
5.2 停止容器运行

    前面的docker container kill命令终止容器运行,相当于向容器里面的主进程发出 SIGKILL 信号。而docker container stop命令也是用来终止容器运行,相当于向容器里面的主进程发出 SIGTERM 信号,然后过一段时间再发出 SIGKILL 信号。

docker container stop [containerID]
5.3 查看容器输出

    命令用来查看 docker 容器的输出,即容器里面 Shell 的标准输出。如果docker run命令运行容器的时候,没有使用-it参数,就要用这个命令查看输出。

docker container logs [containerID]
5.4 文件拷贝 

    docker container cp命令用于从正在运行的 Docker 容器里面,将文件拷贝到本机。

docker container cp [containID]:[/path/to/file]

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐