容器生命周期管理
docker run :创建一个新的容器并运行一个命令。
docker start :启动一个或多个已经被停止的容器。
docker stop :停止一个运行中的容器。
docker restart :重启容器。
docker kill :杀掉一个运行中的容器。
docker rm :删除一个或多少容器。
docker pause :暂停容器中所有的进程。
docker unpause :恢复容器中所有的进程。
docker create :创建一个新的容器但不启动它。
docker exec :在运行的容器中执行命令。
容器操作
docker ps : 列出容器。
docker inspect : 获取容器/镜像的元数据。
docker top :查看容器中运行的进程信息,支持 ps 命令参数。
docker attach :连接到正在运行中的容器。
docker events : 从服务器获取实时事件。
docker logs : 获取容器的日志。
docker wait : 阻塞运行直到容器停止,然后打印出它的退出代码。
docker export :将文件系统作为一个tar归档文件导出到STDOUT。
docker port :列出指定的容器的端口映射,或者查找将PRIVATE_PORT NAT到面向公众的端口。
容器rootfs命令
docker commit :从容器创建一个新的镜像。
docker cp :用于容器与主机之间的数据拷贝。
docker diff : 检查容器里文件结构的更改。
镜像仓库
docker login : 登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub。
docker logout : 登出一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub。
docker pull : 从镜像仓库中拉取或者更新指定镜像。
docker push : 将本地的镜像上传到镜像仓库,要先登陆到镜像仓库。
docker search : 从Docker Hub查找镜像。
本地镜像管理
docker images : 列出本地镜像。
docker rmi : 删除本地一个或多少镜像。
docker tag : 标记本地镜像,将其归入某一仓库。
docker build 命令用于使用 Dockerfile 创建镜像。
docker history : 查看指定镜像的创建历史。
docker save : 将指定镜像保存成 tar 归档文件。
docker load :导入使用docker save命令导出的镜像。
docker import : 从归档文件中创建镜像。
info/version
docker info : 显示 Docker 系统信息,包括镜像和容器数。
docker version :显示 Docker 版本信息。
常用docker命令补充(2021)
docker rename old_name new_name 重命名一个容器
docker attach con_name 将终端附着到正在运行的容器名为con_name的容器的终端上面去,前提是创建该容器时指定了相应的sh
执行这个命令后,按下回车键,会进入容器的命令行Shell中。
docker logs con_name 获取容器名为con_name的容器日志
docker inspect 查看容器的详细信息
docker top con_name 查看容器名为con_name的容器内部的进程
docker exec 可以用来在容器中运行一个进程
创建容器代码:
docker run -itd --privileged --name aa centos:latest /usr/sbin/init
进入docker容器:docker exec -it aa /bin/bash
创建:docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD="root" --name jc-gtmc mysql --character-set-server=utf8 --collation-server=utf8_general_ci
启动jc-gtmc项目:
docker run --name tomcat-jc-gtmc -d -p 8088:8080 -v /home/ubuntu/tomcat/webapps:/usr/local/tomcat/webapps tomcat
进入mysql容器:docker exec -it mysql bash
mysql -u root -p
进入到tomcat容器
docker exec -it tomcat-jc-gtmc bash
进入到jenkins容器
docker exec -it jenkins bash
拷贝容器文件到宿主机
docker cp tomcat-jc-gtmc:/usr/local/tomcat/conf /usr/local/tomcat
docker cp tomcat-jc-gtmc:/usr/local/tomcat/webapps /usr/local/tomcat
docker cp jenkins:/var/jenkins_home/workspace/监查无纸化系统/code/jc-gtmc/target/jc-gtmc.war /war
docker cp tomcat-jc-gtmc:/usr/local/tomcat/webapps/JCWZH.war /war
docker cp tomcat-jc-gtmc:/usr/local/tomcat/logs /war
拷贝宿主机文件到容器
docker cp /usr/local/tomcat/conf tomcat-jc-gtmc:/usr/local/tomcat
docker cp /usr/local/tomcat/webapps tomcat-jc-gtmc:/usr/local/tomcat
docker cp /model tomcat-jc-gtmc:/
telnet 192.168.132.81 13306
postgres安装
一、安装:
docker pull postgres:9.6
二、启动:
docker run --name postgres -e POSTGRES_PASSWORD=123456 -p 5432:5432 -d postgres:9.6
解释:
run,创建并运行一个容器;
--name,指定创建的容器的名字;
-e POSTGRES_PASSWORD=password,设置环境变量,指定数据库的登录口令为password;
-p 54321:5432,端口映射将容器的5432端口映射到外部机器的54321端口;
-d postgres:9.4,指定使用postgres:9.4作为镜像。
注意:
postgres镜像默认的用户名为postgres,
登录口令为创建容器是指定的值。
查看端口使用情况:
netstat -ano
netstat -aon|findstr "5432"
netstat -ano
netstat -aon|findstr "5432"
CREATE SEQUENCE public.user_info
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
ALTER table public.user_info alter column id set DEFAULT nextval('public.user_info');
DROP SEQUENCE public.user_info
select setval('user_info_id_seq',1,false);