安装(centos7)

yum remove docker \
    docker-client \
    docker-client-latest \
    docker-common \
    docker-latest \
    docker-latest-logrotate \
    docker-logrotate \
    docker-engine

yum install -y yum-utils

yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

# 查看具体版本
# yum list docker-ce --showduplicates | sort -r

yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

systemctl start docker

curl -sL https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-linux-x86_64 -o /usr/bin/docker-compose
chmod +x /usr/bin/docker-compose

常用命令,以jenkins/jenkins:2.359-jdk11镜像为例


# 拉取镜像
docker pull jenkins/jenkins:2.359-jdk11

# 运行, --add-host表示增加hosts, -d 表示后台运行, -v挂载目录,-p映射端口,--restart=on-failure表示失败自动重启,
docker run --name jenkins_2.359-jdk11 --add-host test.cn:1.1.1.1 \
       -d -v /localhost/path:/var/jenkins_home -p 8080:8080 -p 50000:50000 \
       --restart=on-failure jenkins/jenkins:2.359-jdk11

# 查看运行
docker ps -a

# 制作新镜像
docker commit jenkins:2.359-jdk11_container_id jenkins:2.359-jdk11-new-version

# 为新镜像打tag
docker tag jenkins:2.359-jdk11-new-version  my-image-repo.com/jenkins:2.359-jdk11-new-version

# 提交新镜像到镜像仓库
docker push my-image-repo.com/jenkins:2.359-jdk11-new-version

# 进入容器内部操作
docker exec -it jenkins_container_id /bin/bash

# 停止容器
docker container stop jenkins_container_id

# 查看日志, 等于tail -f100 file
docker logs -f -n 100 jenkins_container_id

# 查看容器IP
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' jenkins_container_id

# 导出镜像
docker save images_id > file.tar

# 导入镜像
docker load < file.tar

其他

# 增加资源限制和参数
docker run --name tomcat --cpus 0.1 -m 512M -e JAVA_OPTS='-Xmx512m -Xms512m' -p 8080:8080 -itd feisky/tomcat:8

# 起一个mysql实例
docker run --name mysql -e MYSQL_ROOT_PASSWORD=123qweQWE -d -p 3306:3306 mysql:5.7

# 起一个wordpress实例
docker run --name mysql -e MYSQL_ROOT_PASSWORD=123qweQWE -d -p 3306:3306 mysql:5.6.44
docker run --name wordpress --link mysql -e WORDPRESS_DB_HOST=mysql:3306 -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD='123qweQWE' -e WORDPRESS_DB_NAME=wordpress -p 80:80 -d wordpress

docker服务默认使用/etc/docker/daemon.json配置文件,如下更改镜像拉取地址:

{
  "data-root": "/data/docker",
  "registry-mirrors":["https://docker.mirrors.ustc.edu.cn"],
  "log-opts": {
    "max-size": "1000m",
    "max-file":"5"
  }
}

官网样例:

{
  "bip": "192.168.1.1/24",
  "fixed-cidr": "192.168.1.0/25",
  "fixed-cidr-v6": "2001:db8::/64",
  "mtu": 1500,
  "default-gateway": "192.168.1.254",
  "default-gateway-v6": "2001:db8:abcd::89",
  "dns": ["10.20.1.2","10.20.1.3"]
}