Docker常用命令及常用软件的快捷安装

Docker使用

  • Image 镜像相关操作
    • docker pull 拉取镜像
    • docker rmi 删除镜像
  • Container 容器相关操作
    • stop container
    • delete container 删除容器
  • logs
  • Top
  • inspect(detail info of container)
  • goto the runing container
  • 从容器拷贝文件拷贝文件到主机
  • Docker 运行MySQL并且挂载配置文件和数据目录
    • hmy.cnf文件
  • Docker 运行Nacos
  • Docker安装minio服务
  • Docker 安装Redis
  • docker 安装gitlab
  • docker 安装jenkins
  • docker-compose 快速部署
    • 打包程序
    • 构建镜像
    • 启动容器 (-d 后台启动,建议第一次不要加,方便看错误)
  • 其他
    • MAC 修改hosts

Docker文档

查看基本信息

docker version
docker info
docker --help

docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest feb5d9fea6a5 2 months ago 13.3kB
tomcat latest 921ef208ab56 5 months ago 668MB

docker search

Image 镜像相关操作

docker pull 拉取镜像

1.  docker pull mysql:5.7 

docker rmi 删除镜像

1. 根据镜像ID删除镜像
docker rmi -f e88123123   

2. 删除所有镜像
docker rmi -f $(docker images -aq)

3. 根据镜像名称模糊检索并且删除

docker rm -f $( docker ps -aq -f name=esms* )
docker rmi -f $( docker images -aq -f reference=esms* )

Container 容器相关操作

docker run
docker run -it centos /bin/bash
docker run -d
docker ps
docker ps (runing)
docker ps -a (run history)
docker ps -n (create history)
docker ps -a (only display id)
docker ps -aq

docker start containerID
docker restart containerID
docker stop containerID
docker kill containerID

stop container

Ctrl + P + Q (exit and back runing)
exit (exit and stop)
docker stop -f $( docker ps -aq -f name=esms* )

delete container 删除容器

  1. 根据容器ID删除容器
    docker rm containerid
  2. 删除所用容器
    docker rm -f $(docker ps -aq)
  3. 根据容器名称模糊搜索删除容器
    docker rm -f $( docker ps -aq -f name=esms* )

logs

docker logs -ft --tail 10 938c017e7359

Top

docker top 938c017e7359

inspect(detail info of container)

docker inspect 938c017e7359

goto the runing container

docker exec it containerID bashShell
docker exec -it 938c017e7359 /bin/bash (new window)
docker attach containerID
docker exec -it 938c017e7359 /bin/bash (goto runing window)

从容器拷贝文件拷贝文件到主机

docker cp 容器ID:容器内路径 目的地主机路径

Docker 运行MySQL并且挂载配置文件和数据目录

hmy.cnf文件

[mysqld]
skip-name-resolve
character_set_server=utf8
datadir=/var/lib/mysql
server-id=1000
lower_case_table_names = 1
docker run \
 --name mysql \
 -e MYSQL_ROOT_PASSWORD=root \
 -p 3306:3306 \
 -v /Users/zhixun/dockerappdata/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf \
  -v /Users/zhixun/dockerappdata/mysql/data:/var/lib/mysql \
 -d \
 mysql:5.7.25

Docker 运行Nacos

安装教程

docker  run \
--name mynacos -d \
-p 8848:8848 \
--privileged=true \
--restart=always \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
nacos/nacos-server:1.4.1

Docker安装minio服务

docker run \
--name minio -d \
-p 9000:9000 -p 9001:9001 \
-e MINIO_ACCESS_KEY=admin \
-e MINIO_SECRET_KEY=12345678 \
-v /Users/zhixun/dockerappdata/minio:/data  \
minio/minio server /data \
--console-address ":9001" --address ":9000"

**** 9000 端口是API 通信端口, 9001 是web管理台地址

Docker 安装Redis

docker run \
--name redis \
-p 6379:6379 \
--restart unless-stopped \
 -v /Users/zhixun/dockerappdata/redis/conf/redis.conf:/etc/redis/redis.conf  \
 -v /Users/zhixun/dockerappdata/redis/data:/data \
-d redis:6.2.6 redis-server /etc/redis/redis.conf \
--appendonly yes

docker 安装gitlab

安装教程

docker run  -d \
   -h gitlab \
   -p 2222:22 \
   -p 8888:80 \
   -p 8443:443 \
   -v /Users/zhixun/dockerappdata/gitlab/config:/etc/gitlab \
   -v /Users/zhixun/dockerappdata/gitlab/logs:/var/log/gitlab \
   -v /Users/zhixun/dockerappdata/gitlab/data:/var/opt/gitlab \
   --restart always \
   --name gitlab \
   gitlab/gitlab-ce:latest

–detach: 设置容器后台运行
–hostname: 设置容器的 hostname
–publish: 端口转发规则(80:Http 访问端口,443:Https 访问端口,8888:主机的 ssh 访问端口,22:Docker 容器中 ssh 访问端口)
–name:容器名称
–restart always:每次启动容器就重启GitLab
–volume: 共享目录挂载,即 docker 容器内外数据共享(/srv/gitlab/data: 应用程序数据,/srv/gitlab/logs:GitLab 的 log,/srv/gitlab/config:GitLab 的配置文件)
–e:配置 Gitlab 运行的环境变量

docker 安装jenkins

安装教程

docker run -d \
-p 8887:8080 \
-p 50000:50000 \
-v /Users/zhixun/dockerappdata/jenkins/home:/var/jenkins_home \
-v /etc/localtime:/etc/localtime \
--name jenkins jenkins/jenkins

-d 后台运行镜像
-p 10240:8080 将镜像的8080端口映射到服务器的10240端口。
p 10241:50000 将镜像的50000端口映射到服务器的10241端口
-v /var/jenkins_node:/var/jenkins_home /var/jenkins_home目录为容器jenkins工作目录,我们将硬盘上的一个目录挂载到这个位置,方便后续更新镜像后继续使用原来的工作目录。这里我们设置的就是上面我们创建的 /var/jenkins_node目录
-v /etc/localtime:/etc/localtime让容器使用和服务器同样的时间设置。
–name myjenkins 给容器起一个别名

国内镜像源

https://mirror.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

配置账号

jenkins
jenkins

docker-compose 快速部署

打包程序

mvn clean install -Dmaven.test.skip=true

构建镜像

docker-compose build

启动容器 (-d 后台启动,建议第一次不要加,方便看错误)

docker-compose up -d

其他

MAC 修改hosts

sudo nano /etc/hosts

你可能感兴趣的:(Docker,docker,容器,运维)