In my last post, I created a wordpress on Azure container instance. And I used Azure database for mysql as the database.
The reason I chose to use Azure database is that it’s cheaper than docker container.
But it doesn’t stop you to use a docker container as a database server.
Here is how you can create a mysql server in docker.
az container create –name tempmysql –image mysql -e MYSQL_ROOT_PASSWORD=yourpassword –resource-group testACI –ip-address public –port 3306
environment variables and start up command are well supported in Azure container instance.
fengnz@mac:~ > az container create -h
Command
az container create: Create a container group.
Arguments
–image [Required]: The container image name.
–name -n [Required]: The name of the container group.
–resource-group -g [Required]: Name of resource group. You can configure the default group
using `az configure –defaults group=<name>`.
–command-line : The command line to run when the container is started, e.g.
‘/bin/bash -c myscript.sh’.
–cpu : The required number of CPU cores of the containers. Default:
1.
–environment-variables -e : A list of environment variable for the container. Space
separated values in ‘key=value’ format.
–ip-address : The IP address type of the container group. Allowed values:
Public.
–location -l : Location. You can configure the default location using `az
configure –defaults location=<location>`.
–memory : The required memory of the containers in GB. Default: 1.5.
–os-type : The OS type of the containers. Allowed values: Linux,
Windows. Default: Linux.
–ports : The ports to open. Default: [80].
–restart-policy : Restart policy for all containers within the container group.
Allowed values: Always, Never, OnFailure. Default: Always.
Azure File Volume Arguments
–azure-file-volume-account-key : The storage account access key used to access the Azure File
share.
–azure-file-volume-account-name: The name of the storage account that contains the Azure File
share.
–azure-file-volume-mount-path : The path within the container where the volume should be
mounted. Must not contain colon (:).
–azure-file-volume-share-name : The name of the Azure File share to be mounted as a volume.
Image Registry Arguments
–registry-login-server : The container image registry login server.
–registry-password : The password to log in container image registry server.
–registry-username : The username to log in container image registry server.
Global Arguments
–debug : Increase logging verbosity to show all debug logs.
–help -h : Show this help message and exit.
–output -o : Output format. Allowed values: json, jsonc, table, tsv.
Default: json.
–query : JMESPath query string. See http://jmespath.org/ for more
information and examples.
–verbose : Increase logging verbosity. Use –debug for full debug logs.
Examples
Create a container in a container group with 1 core and 1Gb of memory.
az container create -g MyResourceGroup –name myalpine –image alpine:latest –cpu 1
–memory 1
Create a container in a container group that runs Windows, with 2 cores and 3.5Gb of memory.
az container create -g MyResourceGroup –name mywinapp –image winappimage:latest –os-type
Windows –cpu 2 –memory 3.5
Create a container in a container group with public IP address and ports.
az container create -g MyResourceGroup –name myalpine –image alpine:latest –ip-address
public –ports 80 443
Create a container in a container group that invokes a script upon start.
az container create -g MyResourceGroup –name myalpine –image alpine:latest –command-line
“/bin/sh -c ‘/path to/myscript.sh'”
Create a container in a container group that runs a command and stop the container afterwards.
az container create -g MyResourceGroup –name myalpine –image alpine:latest –command-line
“echo hello” –restart-policy Never
Create a container in a container group with environment variables.
az container create -g MyResourceGroup –name myalpine –image alpine:latest -e key1=value1
key2=value2
Create a container in a container group using container image from Azure Container Registry.
az container create -g MyResourceGroup –name myalpine –image
myAcrRegistry.azurecr.io/alpine:latest –registry-password password
Create a container in a container group using container image from another private container
image registry.
az container create -g MyResourceGroup –name myapp –image myimage:latest –cpu 1 –memory
1.5 –registry-login-server myregistry.com –registry-username username –registry-password
password
Create a container in a container group that mounts an Azure File share as volume.
az container create -g MyResourceGroup –name myapp –image alpine:latest –command-line
“cat /mnt/azfile/myfile” –azure-file-volume-share-name myshare –azure-file-volume-account-
name mystorageaccount –azure-file-volume-account-key mystoragekey –azure-file-volume-
mount-path /mnt/azfile
fengnz@mac:~ >