title | category | layout |
---|---|---|
Docker CLI |
Devops |
default-ad |
从 Dockerfile 创建一个 镜像
:
docker build [options] .
-t "app/container_name" # name
在镜像
中运行一条命令:
docker run [options] IMAGE
# see `docker create` for options
从一个镜像
创建一个容器
:
docker create [options] IMAGE
-a, --attach # attach stdout/err
-i, --interactive # attach stdin (interactive)
-t, --tty # pseudo-tty
--name NAME # name your image
-p, --publish 5000:5000 # port map
--expose 5432 # expose a port to linked containers
-P, --publish-all # publish all ports
--link container:alias # linking
-v, --volume `pwd`:/app # mount (absolute paths needed)
-e, --env NAME=hello # env vars
$ docker create --name app_redis_1 \
--expose 6379 \
redis:3.0.2
在一个容器
中运行:
docker exec [options] CONTAINER COMMAND
-d, --detach # run in background
-i, --interactive # stdin
-t, --tty # interactive
$ docker exec app_web_1 tail logs/development.log
$ docker exec -t -i app_web_1 rails c
启动/停止一个容器
:
docker start [options] CONTAINER
-a, --attach # attach stdout/err
-i, --interactive # attach stdin
docker stop [options] CONTAINER
管理容器
:
$ docker ps
$ docker ps -a
$ docker kill $ID
管理镜像
:
$ docker images
REPOSITORY TAG ID
ubuntu 12.10 b750fe78269d
me/myapp latest 7b2431a8d968
$ docker images -a # also show intermediate
删除镜像
:
docker rmi b750fe78269d