一、软件安装:
*NIX启停管理: service docker [start|stop|restart]
国内下载加速:
sudo vim /etc/default/docker
# 加入:
DOCKER_OPTS="--registry-mirror=https://registry.docker-cn.com"
# 重启:
sudo service docker restart
二、镜像文件的管理
- 基本命令:
# 查看下载的镜像
docker image ls
# 从docker中心搜索镜像
docker search [关键字]
# 拉取镜像:
docker image pull [镜像名称]
# 删除镜像:
docker image rm [镜像名称]
# 运行镜像(新建立一个容器,并执行镜像)
docker container run [镜像名称]
# 查看镜像文件的配置信息:
docker inspect [镜像文件名]
- FAQ:
A: docker run 和docker container run的区别
Q:它们的作用都新建立一个container ,然后运行指定的image(的CMD),docker run出现的较早,但语义化较弱。
三、 容器文件的管理
- 容器文件的产生:
每次镜像文件的运行都会新建一个容器文件,即使用运行结束,该文件也会保留,运行了三次的hello-world镜像,如下图:
docker container ls --all
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
479bcca490a2 hello-world "/hello" 6 seconds ago Exited (0) 5 seconds ago focused_poincare
9796c4c519c8 hello-world "/hello" 2 minutes ago Exited (0) 2 minutes ago nifty_robinson
4471c3dc95fc hello-world "/hello" 3 minutes ago Exited (0) 3 minutes ago zen_germain
- 不保留容器文件的方法:
docker container run --rm hello-world
- 查看容器文件:
# 运行中的容器
docker container ls
# 所有容器
docker container ls --all
注意:每个容器都有container_id 和 name,可以做为其被管理的句柄。
- 终止正在运行的容器:
docker container kill [container_id|name]
- 删除容器:
docker container rm [container_id|name]
四、与运行容器的交互
- 利用已有的容器文件启动容器
docker container start [container_id|name]
- 案例:启动mysql的容器
docker container run -d \
-p 0.0.0.0:3306:3306 \
--rm \
--name wordpressdb \
--env MYSQL_ROOT_PASSWORD=123456 --env MYSQL_DATABASE=wordpress mysql:5.7
以上的参数解释如下:
- -d
以守护进程运行“镜像的command”(默认以前台进程执行) - -p
端口的映射,将容器内的3306端口映射成为:任意网卡的3306 - --rm
容器停止时,将删除容器文件 - --name
容器名称 - env
为容器启动指定环境变量(该变量在镜像文件创建时约定,可以通过docker inspect查看) - mysql:5.7
指定镜像文件名及版本号。
- 案例: 以交互方式进行linux容器
docker container run --rm -it ubuntu /bin/bash
参数:
- -i 以交互方式(传递stdin,stdout,stderr到容器)
- -t 使用tty
- 案例:docker 启动php,并映射到本地文件夹
docker container run --rm -d \
-p 0.0.0.0:3001:80 \
--name myphp \
--volume "$PWD/":/var/www/html \
php:5.6-apache
参数解释:
- --volume "$PWD/":/var/www/html
将当前路径映射到“容器”的/var/www/html目录下。
网友评论