Docker-容器

应用程序打包生产镜像后,上传到Docker仓库,再从Docker仓库将镜像下载到本地,以镜像为模板可以创建容器,容器是一个虚拟环境,它可以运行应用实例,一个容器就可以理解为一个应用的进程。

1.容器相关命令

1.1 新建并启动容器
docker run [选项] IMAGE
选项
-d:后台运行
-P:随机端口映射
-p:指定端口映射,支持如下4种格式
ip:host_port:container_port
ip::container_port
host_port:container_port
container_port
1.2 启动已停止的容器
docker start CONTAINER_ID
1.3 停止容器
docker stop CONTAINER_ID
1.4 重启容器,相当于先stop再start
docker restart CONTAINER_ID
1.5 强行停止容器
docker kill CONTAINER_ID
1.6 查看容器信息
# 查看运行中的容器
docker ps
# 查看所有容器
Docker ps -a
1.7 查看指定容器信息
docker inspect NAME|CONTAINER_ID
1.8 删除指定容器
docker rm CONTAINER_ID
1.9 删除所有容器
docker rm -f $(docker ps -a -q)
-f:强行删除正在运行的容器
1.10 执行容器内部命令
# 容器内执行单条命令
docker exec NAME|CONTAINER_ID 容器内部命令
# 容器内连续执行多条命令,-it:以root身份进入容器,exit:退出
docker exec -it CONTAINER_ID /bin/bash
......
exit
1.11 查看容器占用的系统资源
docker stats NAME|CONTAINER_ID

2.实例

2.1 Docker运行nginx
sudo docker run --name nginx-8888 \
-d -p 8888:80 \
-v /home/xxx/nginx/html:/usr/share/nginx/html \
-v /home/xxx/nginx/conf:/etc/nginx \
nginx:1.14.1

需要注意的是:挂载的conf目录为nginx配置文件目录,如果没有内容nginx会启动失败,建议从其它位置复制过来。

2.2 Docker运行MariaDB
sudo docker run --name mariadb \
  -v /data/mariadb/data:/var/lib/mysql \
  -p 3307:3306 \
  -e MYSQL_ALLOW_EMPTY_PASSWORD=true \
  -e MYSQL_ROOT_PASSWORD= \
  -e MYSQL_ROOT_HOST=% \
  -d mariadb:10.2
2.3 Docker运行Jenkins
sudo docker run --name jenkins \
--privileged=true \
-p 8080:8080 \
-p 50000:50000 \
-v ~/jenkins:/var/jenkins_home \
-d jenkins

3.其它

3.1 设置容器时区与宿主机一致

创建容器的时候指定启动参数,挂载localtime文件到容器内 ,保证两者所采用的时区一致

docker run --name  -v /etc/localtime:/etc/localtime:ro ....

容器创建以后,将宿主机的localtime文件覆盖到容器内

docker cp /etc/localtime :/etc/localtime

你可能感兴趣的:(Docker-容器)