Docker 使用记录

  1. 安装
    1. docker-compose
    2. 下载镜像
    3. 查看下载过的images
    4. 运行实例
    5. 查看Docker运行的实例
    6. 进入Docker实例
    7. 停止Docker容器
    8. 删除Docker容器
    9. 删除Docker镜像
    10. 修改容器并提交

安装

官方安装

curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh

一键脚本工具箱

wget -N https://cdn.jsdelivr.net/gh/ednovas/vpstoolbox@main/ednovastool.sh && sh ednovastool.sh

docker-compose

centos 安装

yum install -y docker-compose

注:docker-compose基于docker,版本要匹配。不建议通过源码安装,这样可以导致版本不匹配。

下载镜像

$ docker pull image_name:image_version//eg:ruby:2.1

查看下载过的images

$ docker images

运行实例

//--name为指定缩略名,下次可直接用docker start启动,-d为运行后进入实例,-p为指定端口映射
$ docker run --name "oc" -d -p 80:80 owncloud:9
//以后就可以使用缩略名启动
$ docker stop oc
$ docker start oc

查看Docker运行的实例

$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
87289a2598e7        owncloud:9          "/entrypoint.sh apach"   About an hour ago   Up About an hour    0.0.0.0:80->80/tcp   oc
1305

进入Docker实例

//查看PID,
$ docker inspect --format "{{ .State.Pid }}" 87289a2598e7
//进入PID对应的Container实例
$ nsenter --target 1305 --mount --uts --ipc --net --pid

停止Docker容器

//通过ps获得所有运行的容器和对应的ID
$ docker ps
//指定ID进行停止
$ docker stop 87289a2598e7
//也可以指定name停止
$ docker stop oc

删除Docker容器

$ docker rm 87289a2598e7
//或者指定name进行容器删除
$ docker rm oc

删除Docker镜像

$ docker rmi owncloud:9

修改容器并提交

//首先进入容器
//然后进行修改,增加ldap认证支持
//进入PID对应的容器
$ nsenter --target 1305 --mount --uts --ipc --net --pid
//更新源
# apt-get update
//安装需要的组件
# apt-get install libldap2-dev
# docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu
# docker-php-ext-install ldap
//退出容器
# exit
//提交对容器的修改
$ docker commit 87289a2598e7 owncloud/ldap
//重启容器
$ docker stop oc
$ docker run --name ocldap -d -p 80:80 owncloud/ldap

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 chgocn@gmail.com
笔记