Docker笔记

只属于自己使用的备忘录

安装

https://docs.docker.com/install/linux/docker-ce/centos/
$ sudo docker run hello-world まで確認

图像列表

$ docker images

容器的操作

显示容器列表

$ docker ps -a

状态
UP=运行中
Exited=已停止

创建和启动容器。

$ docker run [オプション] イメージ名[:タグ名] [引数]

$ docker run [オプション] イメージ名[:タグ名] /bin/bash
$ docker run -it -p 8888:8888 tensorflow/tensorflow

用Docker运行选项

オプション内容-itコンテナを作ってログインする–rmコンテナ終了時にコンテナを自動的に削除–name 名前設定した名前でコンテナを起動-dバックグラウンドで実行する-p XXXX:YYYYホストのポートXXXXがコンテナのポートYYYYにマップする-v \${DIR_ON_HOST}:${DIR_ON_CONTAINER}コンテナにボリュームを割り当てる-w dir_on_containerdir_on_containerをワーキングディレクトリに設定–runtime=${RUNTIME}GPU対応tensorflowで使うやつ。公式ドキュメントにもコンテナに使うランタイムとしか書いてない

从登录状态退出分离(デタッチ)
按下 ctrl + P → 按下 ctrl + Q

启动容器

$ docker start ${container_id} or ${name}

停止容器

$ docker stop ${container_id} or ${name}

容器的操作 de

进入正在运行的容器并使用bash命令行。

以root用户身份进入容器

USER=root
CONTAINER_NAME=jupyter
docker exec -it --user ${USER} ${CONTAINER_NAME} /bin/bash 

创建形象

从容器中创建图像

CONTAINER_NAME=jupyter
REPOSITORY=continuumio/anaconda3
TAG=snorkel
docker commit ${CONTAINER_NAME} ${REPOSITORY}:${TAG}

从Dockerfile中构建镜像。

由于省略了标签,将自动添加”latest”。

IMAGE_NAME=test
DOCKERFILE_PATH=.
docker build -t ${IMAGE_NAME} ${DOCKERFILE_PATH}

tagを付ける場合

IMAGE_NAME=test
TAG_NAME=1.0
DOCKERFILE_PATH=.
docker build -t ${IMAGE_NAME}:${TAG_NAME} ${DOCKERFILE_PATH}

在使用Volume Docker挂载主机数据区域时的方法。

方便的Docker

Jupyter库

$ docker run --rm --name jupyter -d -p 8888:8888 \
    -v `pwd`/workspace:/workspace -w /workspace \
    continuumio/anaconda3 \
    jupyter-lab --no-browser --port=8888 --ip=0.0.0.0 \
    --allow-root --NotebookApp.token=''
bannerAds